diff --git a/.github/workflows/publish-provider-packages.yaml b/.github/workflows/publish-provider-packages.yaml index 45aae3c29..bad7d616c 100644 --- a/.github/workflows/publish-provider-packages.yaml +++ b/.github/workflows/publish-provider-packages.yaml @@ -49,6 +49,7 @@ env: # Registry/Org names CROSSPLANE_REGORG: 'ghcr.io/${{ github.repository_owner }}' # xpkg.crossplane.io/crossplane-contrib + NOFORK_GOCACHE_PATH: .cache/nofork-go-build jobs: index: runs-on: ubuntu-latest @@ -56,6 +57,7 @@ jobs: indices: ${{ steps.calc.outputs.indices }} subpackages: ${{ steps.calc.outputs.subpackages }} has_services: ${{ steps.calc.outputs.has_services }} + platform_key: ${{ steps.calc.outputs.platform_key }} steps: - name: Validate workflow inputs env: @@ -103,12 +105,35 @@ jobs: env: INPUT_SUBPACKAGES: ${{ inputs.subpackages }} INPUT_SIZE: ${{ inputs.size }} + INPUT_PLATFORM: ${{ inputs.platform }} run: | set -euo pipefail if [ "$INPUT_SUBPACKAGES" = "all" ]; then - SERVICES_LIST=$(find examples-generated/cluster -mindepth 1 -maxdepth 1 -type d 2>/dev/null | xargs -n1 basename | tr '\n' ',' | sed 's/,$//' || echo "") - SUBPACKAGES="$SERVICES_LIST" + SERVICES_LIST=$(find examples-generated/cluster -mindepth 1 -maxdepth 1 -type d -exec basename {} \; 2>/dev/null | LC_ALL=C sort | paste -sd, -) + export SERVICES_LIST + SUBPACKAGES=$(python3 - <<'PY' + import math + import os + + services = [pkg for pkg in os.environ["SERVICES_LIST"].split(",") if pkg] + size = int(os.environ["INPUT_SIZE"]) + batch_count = math.ceil(len(services) / size) + batches = [[] for _ in range(batch_count)] + capacities = [size] * batch_count + if batches: + capacities[-1] = len(services) - size * (batch_count - 1) + + batch_index = 0 + for service in services: + while len(batches[batch_index]) >= capacities[batch_index]: + batch_index = (batch_index + 1) % batch_count + batches[batch_index].append(service) + batch_index = (batch_index + 1) % batch_count + + print(",".join(pkg for batch in batches for pkg in batch)) + PY + ) else SUBPACKAGES=$(python3 - <<'PY' import os @@ -134,6 +159,7 @@ jobs: ) echo "indices=$INDICES" >> "$GITHUB_OUTPUT" echo "subpackages=$SUBPACKAGES" >> "$GITHUB_OUTPUT" + echo "platform_key=${INPUT_PLATFORM// /-}" >> "$GITHUB_OUTPUT" if [ -n "$SUBPACKAGES" ]; then echo "has_services=true" >> "$GITHUB_OUTPUT" else @@ -192,6 +218,17 @@ jobs: cache: true cache-dependency-path: go.sum + - name: Restore Family No-Fork Go Build Cache + id: nofork-family-cache + uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4 + with: + path: ${{ env.NOFORK_GOCACHE_PATH }} + key: nofork-family-go-build-${{ runner.os }}-go-${{ inputs.go-version }}-${{ needs.index.outputs.platform_key }}-${{ hashFiles('go.mod', 'go.sum', 'Makefile', 'build/nofork/**', 'config/*nofork*.tmpl', 'internal/clients/*nofork*.tmpl') }}-${{ github.sha }} + restore-keys: | + nofork-family-go-build-${{ runner.os }}-go-${{ inputs.go-version }}-${{ needs.index.outputs.platform_key }}-${{ hashFiles('go.mod', 'go.sum', 'Makefile', 'build/nofork/**', 'config/*nofork*.tmpl', 'internal/clients/*nofork*.tmpl') }}- + nofork-family-go-build-${{ runner.os }}-go-${{ inputs.go-version }}-${{ needs.index.outputs.platform_key }}- + nofork-family-go-build-${{ runner.os }}-go-${{ inputs.go-version }}- + - name: Vendor Dependencies run: make vendor vendor.check @@ -212,8 +249,38 @@ jobs: - name: Install goimports run: go install golang.org/x/tools/cmd/goimports@latest - - name: Check Generated Diff - run: make check-diff + - name: Check Generated Diff and Build Family Provider Binaries + env: + INPUT_PLATFORM: ${{ inputs.platform }} + GOTMPDIR: ${{ runner.temp }}/go-build + run: | + set -euo pipefail + + started=$(date +%s) + gomodcache=$(go env GOMODCACHE) + rm -rf "$GOTMPDIR" /tmp/go-build* + mkdir -p "$GOTMPDIR" + echo "Runner CPUs: $(nproc)" + df -h + make \ + NOFORK_GOMODCACHE="$gomodcache" \ + PLATFORMS="$INPUT_PLATFORM" \ + ci-family-check-build + du -sh "${{ env.NOFORK_GOCACHE_PATH }}" + df -h + echo "Family generation validation and binary build completed in $(( $(date +%s) - started ))s" + + - name: Save Family No-Fork Go Build Cache + if: ${{ needs.index.outputs.has_services == 'true' && steps.nofork-family-cache.outputs.cache-hit != 'true' }} + uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4 + with: + path: ${{ env.NOFORK_GOCACHE_PATH }} + key: ${{ steps.nofork-family-cache.outputs.cache-primary-key }} + + - name: Remove Local No-Fork Go Build Cache + run: | + rm -rf "${{ env.NOFORK_GOCACHE_PATH }}" + df -h - name: Publish Family Provider env: @@ -227,16 +294,20 @@ jobs: run: | set -euo pipefail + started=$(date +%s) batch_platforms=$(tr ' ' ',' <<<"$INPUT_PLATFORM") + docker buildx prune -af || true + docker image prune -af || true df -h make \ CONCURRENCY="$INPUT_CONCURRENCY" \ SUBPACKAGES_FOR_BATCH="config" \ XPKG_REG_ORGS="$REGISTRY_ORG" \ VERSION="$INPUT_VERSION" \ - SKIP_GO_CACHE_CLEAN=true \ BATCH_PLATFORMS="$batch_platforms" \ - publish-subpackages + publish-built-family-subpackage + df -h + echo "Family publish completed in $(( $(date +%s) - started ))s" publish-services: if: ${{ needs.index.outputs.has_services == 'true' }} @@ -295,6 +366,16 @@ jobs: cache: true cache-dependency-path: go.sum + - name: Restore Family No-Fork Go Build Cache + uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4 + with: + path: ${{ env.NOFORK_GOCACHE_PATH }} + key: nofork-family-go-build-${{ runner.os }}-go-${{ inputs.go-version }}-${{ needs.index.outputs.platform_key }}-${{ hashFiles('go.mod', 'go.sum', 'Makefile', 'build/nofork/**', 'config/*nofork*.tmpl', 'internal/clients/*nofork*.tmpl') }}-${{ github.sha }} + restore-keys: | + nofork-family-go-build-${{ runner.os }}-go-${{ inputs.go-version }}-${{ needs.index.outputs.platform_key }}-${{ hashFiles('go.mod', 'go.sum', 'Makefile', 'build/nofork/**', 'config/*nofork*.tmpl', 'internal/clients/*nofork*.tmpl') }}- + nofork-family-go-build-${{ runner.os }}-go-${{ inputs.go-version }}-${{ needs.index.outputs.platform_key }}- + nofork-family-go-build-${{ runner.os }}-go-${{ inputs.go-version }}- + - name: Vendor Dependencies run: make vendor vendor.check @@ -352,19 +433,28 @@ jobs: INPUT_CONCURRENCY: ${{ inputs.concurrency }} REGISTRY_ORG: ${{ env.CROSSPLANE_REGORG }} FAMILY_BASE_IMAGE: ${{ steps.family.outputs.family_base_image }} + GOTMPDIR: ${{ runner.temp }}/go-build # We're using docker buildx, which doesn't actually load the images it # builds by default. Specifying --load does so. BUILD_ARGS: "--load" run: | set -euo pipefail + started=$(date +%s) batch_platforms=$(tr ' ' ',' <<<"$INPUT_PLATFORM") + gomodcache=$(go env GOMODCACHE) + rm -rf "$GOTMPDIR" /tmp/go-build* + mkdir -p "$GOTMPDIR" + echo "Runner CPUs: $(nproc)" df -h make \ CONCURRENCY="$INPUT_CONCURRENCY" \ + NOFORK_GOMODCACHE="$gomodcache" \ SUBPACKAGES_FOR_BATCH="$PACKAGES_BATCH" \ FAMILY_BASE_IMAGE="$FAMILY_BASE_IMAGE" \ XPKG_REG_ORGS="$REGISTRY_ORG" \ VERSION="$INPUT_VERSION" \ BATCH_PLATFORMS="$batch_platforms" \ publish-service-subpackages + df -h + echo "Service publish completed in $(( $(date +%s) - started ))s" diff --git a/Makefile b/Makefile index 5a006ffc4..3e870e54b 100644 --- a/Makefile +++ b/Makefile @@ -50,7 +50,7 @@ GO_TEST_PARALLEL := $(shell echo $$(( $(NPROCS) / 2 ))) GO_REQUIRED_VERSION ?= 1.25 GOLANGCILINT_VERSION ?= 1.50.0 GO_STATIC_PACKAGES = $(GO_PROJECT)/cmd/provider/monolith $(GO_PROJECT)/cmd/generator -GO_LDFLAGS += -X $(GO_PROJECT)/internal/version.Version=$(VERSION) +GO_LDFLAGS += -X main.terraformProviderVersion=$(TERRAFORM_PROVIDER_VERSION) GO_SUBDIRS += cmd internal apis -include build/makelib/golang.mk @@ -88,23 +88,6 @@ monolith.binary.alias: go.build .PHONY: monolith.binary.alias endif -# ==================================================================================== -# Override build target for sub-packages -# This overrides the default build target from golang.mk when SUBPACKAGES is set - -ifneq ($(SUBPACKAGES),monolith) -# Override the build target for sub-package builds -build: $(UP) - @$(INFO) Building sub-packages: $(SUBPACKAGES) - @for pkg in $(SUBPACKAGE_LIST); do \ - $(MAKE) build.subpackage.$$pkg PLATFORMS="$(PLATFORMS)" || exit 1; \ - done - @$(OK) Built sub-packages: $(SUBPACKAGES) - -# Also override go.build for consistency -go.build: build -endif - # ==================================================================================== # Setup Kubernetes tools @@ -209,10 +192,15 @@ $(TERRAFORM_PROVIDER_SCHEMA): $(TERRAFORM) @$(OK) generating provider schema for $(TERRAFORM_PROVIDER_SOURCE) $(TERRAFORM_PROVIDER_VERSION) pull-docs: - @if [ ! -d "$(WORK_DIR)/$(TERRAFORM_PROVIDER_SOURCE)" ]; then \ + @if [ ! -d "$(WORK_DIR)/$(TERRAFORM_PROVIDER_SOURCE)/.git" ]; then \ + rm -rf "$(WORK_DIR)/$(TERRAFORM_PROVIDER_SOURCE)" && \ mkdir -p "$(WORK_DIR)/$(TERRAFORM_PROVIDER_SOURCE)" && \ git clone -c advice.detachedHead=false --depth 1 --filter=blob:none --branch "v$(TERRAFORM_PROVIDER_VERSION)" --sparse "$(TERRAFORM_PROVIDER_REPO)" "$(WORK_DIR)/$(TERRAFORM_PROVIDER_SOURCE)"; \ fi + @if [ "$$(git -C "$(WORK_DIR)/$(TERRAFORM_PROVIDER_SOURCE)" describe --tags --exact-match HEAD 2>/dev/null || true)" != "v$(TERRAFORM_PROVIDER_VERSION)" ]; then \ + git -C "$(WORK_DIR)/$(TERRAFORM_PROVIDER_SOURCE)" fetch --depth 1 origin "refs/tags/v$(TERRAFORM_PROVIDER_VERSION):refs/tags/v$(TERRAFORM_PROVIDER_VERSION)" && \ + git -C "$(WORK_DIR)/$(TERRAFORM_PROVIDER_SOURCE)" checkout --detach "v$(TERRAFORM_PROVIDER_VERSION)"; \ + fi @git -C "$(WORK_DIR)/$(TERRAFORM_PROVIDER_SOURCE)" sparse-checkout set "$(TERRAFORM_DOCS_PATH)" generate.init: $(TERRAFORM_PROVIDER_SCHEMA) pull-docs @@ -230,6 +218,172 @@ build.complete: generate.resolve build @$(OK) complete build workflow finished .PHONY: $(TERRAFORM_PROVIDER_SCHEMA) pull-docs generate.resolve build.complete + +PATCH_STAMP := .patch-stamp-$(TERRAFORM_PROVIDER_VERSION) +NOFORK_PATCH_FILE ?= $(CURDIR)/build/nofork/patches/terraform-provider-oci.patch +NOFORK_PROVIDER_DIR ?= $(CURDIR)/.work/nofork/terraform-provider-oci +NOFORK_STATE_DIR ?= $(CURDIR)/.work/nofork/state +NOFORK_GOCACHE ?= $(CURDIR)/.cache/nofork-go-build +NOFORK_GOMODCACHE ?= $(CURDIR)/.cache/nofork-go-mod +NOFORK_GOPATH ?= $(CURDIR)/.work/nofork-gopath +NOFORK_GOFLAGS ?= $(strip $(GOFLAGS) -tags=nofork) +NOFORK_GO_TAGS ?= $(strip $(GO_TAGS) nofork) +NOFORK_PATCHER := GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)" go run ./cmd/noforkpatcher + +# Internal operations below assume the no-fork patch is already active. Public +# developer targets continue to own the apply/clean lifecycle. +nofork.generate.inner: + @GOFLAGS="$(NOFORK_GOFLAGS)" GO_TAGS="$(NOFORK_GO_TAGS)" $(MAKE) generate.init GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)" + @GOFLAGS="$(NOFORK_GOFLAGS)" GO_TAGS="$(NOFORK_GO_TAGS)" $(MAKE) generate.run GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)" + @GOFLAGS="$(NOFORK_GOFLAGS)" GO_TAGS="$(NOFORK_GO_TAGS)" $(MAKE) generate.done GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)" + +nofork.build.config.inner: + @GOFLAGS="$(NOFORK_GOFLAGS)" GO_TAGS="$(NOFORK_GO_TAGS)" $(MAKE) build.subpackage.config SUBPACKAGES="config" PLATFORMS="$(PLATFORMS)" GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)" + +nofork.check-generated-diff: + @set -e; \ + for path in "$(PATCH_STAMP)" "config/terraform_provider_nofork.go" "internal/clients/oci_provider_nofork.go"; do \ + if [ ! -f "$$path" ]; then \ + echo "Expected active no-fork patch file is missing: $$path" >&2; \ + $(FAIL); \ + fi; \ + done; \ + if ! git diff --quiet HEAD -- . ':(exclude)go.mod' ':(exclude)go.sum'; then \ + echo "Generation produced tracked changes:" >&2; \ + git diff --name-status HEAD -- . ':(exclude)go.mod' ':(exclude)go.sum' >&2; \ + $(FAIL); \ + fi; \ + unexpected_untracked="$$(git ls-files --others --exclude-standard | grep -Fvx \ + -e "$(PATCH_STAMP)" \ + -e "config/terraform_provider_nofork.go" \ + -e "internal/clients/oci_provider_nofork.go" || true)"; \ + if [ -n "$$unexpected_untracked" ]; then \ + echo "Generation produced unexpected untracked files:" >&2; \ + printf '%s\n' "$$unexpected_untracked" >&2; \ + $(FAIL); \ + fi; \ + $(OK) generated files are current + +nofork.check-clean: + @set -e; \ + status="$$(git status --porcelain --untracked-files=all)"; \ + if [ -n "$$status" ]; then \ + printf '%s\n' "$$status"; \ + $(FAIL); \ + else \ + $(OK) branch is clean; \ + fi + +# CI-only family flow. It validates generation and builds the family binaries +# before cleaning the patch, while retaining failure-safe cleanup semantics. +ci-family-check-build: + @set -euo pipefail; \ + cleanup() { \ + status=$$?; \ + trap - EXIT INT TERM; \ + cleanup_status=0; \ + $(MAKE) clean-patch || cleanup_status=$$?; \ + if [ "$$cleanup_status" -ne 0 ]; then \ + echo "No-fork cleanup failed with status $$cleanup_status." >&2; \ + if [ "$$status" -eq 0 ]; then status=$$cleanup_status; fi; \ + fi; \ + exit "$$status"; \ + }; \ + trap cleanup EXIT; \ + trap 'exit 130' INT; \ + trap 'exit 143' TERM; \ + $(MAKE) $(PATCH_STAMP) GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)"; \ + $(MAKE) nofork.generate.inner GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)"; \ + $(MAKE) nofork.check-generated-diff; \ + $(MAKE) nofork.build.config.inner PLATFORMS="$(PLATFORMS)" GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)"; \ + $(MAKE) clean-patch; \ + trap - EXIT INT TERM; \ + $(MAKE) nofork.check-clean + +build: +ifneq ($(SUBPACKAGES),monolith) + @set -e; \ + trap '$(MAKE) clean-patch' EXIT; \ + $(MAKE) $(PATCH_STAMP) GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)"; \ + $(INFO) Building sub-packages: $(SUBPACKAGES); \ + for pkg in $(SUBPACKAGE_LIST); do \ + GOFLAGS="$(NOFORK_GOFLAGS)" GO_TAGS="$(NOFORK_GO_TAGS)" $(MAKE) build.subpackage.$$pkg PLATFORMS="$(PLATFORMS)" GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)" || exit 1; \ + done; \ + $(OK) Built sub-packages: $(SUBPACKAGES) +else +ifneq ($(BUILD_PLATFORMS),) + @set -e; \ + trap '$(MAKE) clean-patch' EXIT; \ + $(MAKE) $(PATCH_STAMP) GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)"; \ + GOFLAGS="$(NOFORK_GOFLAGS)" GO_TAGS="$(NOFORK_GO_TAGS)" $(MAKE) build.all PLATFORMS="$(BUILD_PLATFORMS)" GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)" +else + @: +endif +endif + +ifneq ($(SUBPACKAGES),monolith) +go.build: build +endif + +generate: + @set -e; \ + trap '$(MAKE) clean-patch' EXIT; \ + $(MAKE) $(PATCH_STAMP) GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)"; \ + $(MAKE) nofork.generate.inner GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)" + +test: + @set -e; \ + trap '$(MAKE) clean-patch' EXIT; \ + $(MAKE) $(PATCH_STAMP) GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)"; \ + GOFLAGS="$(NOFORK_GOFLAGS)" GO_TAGS="$(NOFORK_GO_TAGS)" $(MAKE) test.init GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)"; \ + GOFLAGS="$(NOFORK_GOFLAGS)" GO_TAGS="$(NOFORK_GO_TAGS)" $(MAKE) test.run GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)"; \ + GOFLAGS="$(NOFORK_GOFLAGS)" GO_TAGS="$(NOFORK_GO_TAGS)" $(MAKE) test.done GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)" + +lint: + @set -e; \ + trap '$(MAKE) clean-patch' EXIT; \ + $(MAKE) $(PATCH_STAMP) GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)"; \ + GOFLAGS="$(NOFORK_GOFLAGS)" GO_TAGS="$(NOFORK_GO_TAGS)" $(MAKE) lint.init GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)"; \ + GOFLAGS="$(NOFORK_GOFLAGS)" GO_TAGS="$(NOFORK_GO_TAGS)" $(MAKE) lint.run GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)"; \ + GOFLAGS="$(NOFORK_GOFLAGS)" GO_TAGS="$(NOFORK_GO_TAGS)" $(MAKE) lint.done GOCACHE="$(NOFORK_GOCACHE)" GOMODCACHE="$(NOFORK_GOMODCACHE)" GOPATH="$(NOFORK_GOPATH)" + +$(PATCH_STAMP): + @mkdir -p "$(NOFORK_GOCACHE)" "$(NOFORK_GOMODCACHE)" "$(NOFORK_GOPATH)" "$(dir $(NOFORK_PROVIDER_DIR))" "$(NOFORK_STATE_DIR)" + @$(NOFORK_PATCHER) apply \ + --provider-version "$(TERRAFORM_PROVIDER_VERSION)" \ + --provider-dir "$(NOFORK_PROVIDER_DIR)" \ + --state-dir "$(NOFORK_STATE_DIR)" \ + --patch-file "$(NOFORK_PATCH_FILE)" \ + --repo-url "$(TERRAFORM_PROVIDER_REPO)" \ + --gocache "$(NOFORK_GOCACHE)" \ + --gomodcache "$(NOFORK_GOMODCACHE)" \ + --gopath "$(NOFORK_GOPATH)" + @touch $(PATCH_STAMP) + +clean-patch: + @mkdir -p "$(NOFORK_GOCACHE)" "$(NOFORK_GOMODCACHE)" "$(NOFORK_GOPATH)" "$(NOFORK_STATE_DIR)" + @$(NOFORK_PATCHER) clean \ + --provider-dir "$(NOFORK_PROVIDER_DIR)" \ + --state-dir "$(NOFORK_STATE_DIR)" \ + --patch-file "$(NOFORK_PATCH_FILE)" \ + --gocache "$(NOFORK_GOCACHE)" \ + --gomodcache "$(NOFORK_GOMODCACHE)" \ + --gopath "$(NOFORK_GOPATH)" + @rm -f .patch-stamp-* + +validate-patch: + @mkdir -p "$(NOFORK_GOCACHE)" "$(NOFORK_GOMODCACHE)" "$(NOFORK_GOPATH)" "$(dir $(NOFORK_PROVIDER_DIR))" "$(NOFORK_STATE_DIR)" + @$(NOFORK_PATCHER) validate \ + --provider-version "$(TERRAFORM_PROVIDER_VERSION)" \ + --patch-file "$(NOFORK_PATCH_FILE)" \ + --repo-url "$(TERRAFORM_PROVIDER_REPO)" \ + --provider-dir "$(NOFORK_PROVIDER_DIR)" \ + --state-dir "$(NOFORK_STATE_DIR)" \ + --gocache "$(NOFORK_GOCACHE)" \ + --gomodcache "$(NOFORK_GOMODCACHE)" \ + --gopath "$(NOFORK_GOPATH)" + +.PHONY: nofork.generate.inner nofork.build.config.inner nofork.check-generated-diff nofork.check-clean ci-family-check-build clean-patch validate-patch # ==================================================================================== # Targets @@ -312,16 +466,22 @@ build.subpackage.%: echo "For now, this is expected behavior as we're implementing the build system first."; \ exit 1; \ fi - @for platform in $(PLATFORMS); do \ + @package_started=$$(date +%s); \ + for platform in $(PLATFORMS); do \ GOOS=$$(echo $$platform | cut -d_ -f1); \ GOARCH=$$(echo $$platform | cut -d_ -f2); \ + platform_started=$$(date +%s); \ echo " Building for $$GOOS/$$GOARCH..."; \ output_name="$*"; \ mkdir -p $(OUTPUT_DIR)/bin/$${GOOS}_$${GOARCH}; \ - CGO_ENABLED=0 GOOS=$$GOOS GOARCH=$$GOARCH $(GO) build -ldflags '$(GO_LDFLAGS)' \ - -o $(OUTPUT_DIR)/bin/$${GOOS}_$${GOARCH}/$$output_name$(BINARY_EXT) \ - $(GO_PROJECT)/cmd/provider/$*/ || exit 1; \ - done + output_path=$(OUTPUT_DIR)/bin/$${GOOS}_$${GOARCH}/$$output_name$(BINARY_EXT); \ + CGO_ENABLED=0 GOOS=$$GOOS GOARCH=$$GOARCH $(GO) build $(GO_BUILDFLAGS) -ldflags '$(GO_LDFLAGS)' \ + -o $$output_path $(GO_PROJECT)/cmd/provider/$*/ || exit 1; \ + binary_size=$$(du -h "$$output_path" | awk '{print $$1}'); \ + echo " Built $$GOOS/$$GOARCH in $$(( $$(date +%s) - $$platform_started ))s ($$binary_size)"; \ + done; \ + echo " Completed $* in $$(( $$(date +%s) - $$package_started ))s"; \ + df -h "$(OUTPUT_DIR)" | tail -n 1 @if [ "$*" = "config" ]; then \ $(OK) Built sub-package provider-family-oci for platforms: $(PLATFORMS); \ else \ diff --git a/build/makelib/subpackage.mk b/build/makelib/subpackage.mk index 4ebbf0c1f..66ae0b5ee 100644 --- a/build/makelib/subpackage.mk +++ b/build/makelib/subpackage.mk @@ -138,7 +138,10 @@ build-subpackages: publish-subpackages: kustomize-crds @PLATFORMS_FOR_BUILD=$$(echo "$(BATCH_PLATFORMS)" | tr ',' ' '); \ $(MAKE) build PLATFORMS="$$PLATFORMS_FOR_BUILD" SUBPACKAGES="$(SUBPACKAGES_FOR_BATCH)"; \ - if [ "$(SKIP_GO_CACHE_CLEAN)" != "true" ]; then $(GO) clean -cache -testcache || true; fi; \ + if [ "$(SKIP_GO_CACHE_CLEAN)" != "true" ]; then \ + $(GO) clean -cache -testcache || true; \ + if [ -n "$(NOFORK_GOCACHE)" ]; then rm -rf "$(NOFORK_GOCACHE)"; fi; \ + fi; \ docker buildx prune -af || true; \ for platform in $$PLATFORMS_FOR_BUILD; do \ docker buildx prune -af || true; \ @@ -147,6 +150,21 @@ publish-subpackages: kustomize-crds done; \ $(MAKE) batch-process SUBPACKAGES_FOR_BATCH="$(SUBPACKAGES_FOR_BATCH)" BUILD_ONLY=false BATCH_PLATFORMS="$(BATCH_PLATFORMS)" +# Publish a prebuilt family binary after its Go cache has been saved and removed. +publish-built-family-subpackage: kustomize-crds + @if [ "$(SUBPACKAGES_FOR_BATCH)" != "config" ]; then \ + echo "Error: publish-built-family-subpackage requires SUBPACKAGES_FOR_BATCH=config."; \ + exit 1; \ + fi + @PLATFORMS_FOR_BUILD=$$(echo "$(BATCH_PLATFORMS)" | tr ',' ' '); \ + docker buildx prune -af || true; \ + for platform in $$PLATFORMS_FOR_BUILD; do \ + docker buildx prune -af || true; \ + docker image prune -f || true; \ + $(MAKE) build.family.image PLATFORM=$$platform || exit 1; \ + done; \ + $(MAKE) batch-process SUBPACKAGES_FOR_BATCH=config BUILD_ONLY=false BATCH_PLATFORMS="$(BATCH_PLATFORMS)" + # Build and push service sub-packages using an already published family provider image. # Usage: make publish-service-subpackages SUBPACKAGES_FOR_BATCH="networking,containerengine" FAMILY_BASE_IMAGE=ghcr.io/org/provider-family-oci:v1.0.0 publish-service-subpackages: @@ -160,8 +178,15 @@ publish-service-subpackages: echo "Error: FAMILY_BASE_IMAGE must reference the pulled provider-family-oci image."; \ exit 1; \ fi - @PLATFORMS_FOR_BUILD=$$(echo "$(BATCH_PLATFORMS)" | tr ',' ' '); \ + @set -e; \ + PLATFORMS_FOR_BUILD=$$(echo "$(BATCH_PLATFORMS)" | tr ',' ' '); \ $(MAKE) build PLATFORMS="$$PLATFORMS_FOR_BUILD" SUBPACKAGES="$(SUBPACKAGES_FOR_BATCH)"; \ + if [ "$(SKIP_GO_CACHE_CLEAN)" != "true" ]; then \ + if [ -d "$(NOFORK_GOCACHE)" ]; then \ + du -sh "$(NOFORK_GOCACHE)"; \ + rm -rf "$(NOFORK_GOCACHE)"; \ + fi; \ + fi; \ $(MAKE) batch-process SUBPACKAGES_FOR_BATCH="$(SUBPACKAGES_FOR_BATCH)" BUILD_ONLY=false BATCH_PLATFORMS="$(BATCH_PLATFORMS)" FAMILY_BASE_IMAGE="$(FAMILY_BASE_IMAGE)" -.PHONY: batch-process build-subpackages publish-subpackages publish-service-subpackages build.family.image +.PHONY: batch-process build-subpackages publish-subpackages publish-built-family-subpackage publish-service-subpackages build.family.image diff --git a/build/nofork/patches/terraform-provider-oci.patch b/build/nofork/patches/terraform-provider-oci.patch new file mode 100644 index 000000000..3ac9fdf73 --- /dev/null +++ b/build/nofork/patches/terraform-provider-oci.patch @@ -0,0 +1,1749 @@ +diff --git a/internal/acctest/test_helpers.go b/internal/acctest/test_helpers.go +index 1cda4545fccbe6bf7f87335ea1f1deec5e93f77c..54c88330c3bc5b0c3240855dc226df2c38313fc4 100644 +--- a/internal/acctest/test_helpers.go ++++ b/internal/acctest/test_helpers.go +@@ -857,7 +857,6 @@ func GetTestClients(data *schema.ResourceData) *tf_client.OracleClients { + d.Set(globalvar.DefinedTagsToIgnore, ignoreDefinedTags) + } + +- tf_provider.TerraformCLIVersion = globalvar.TestTerraformCLIVersion + client, err := tfProviderConfigVar(d) + if err != nil { + panic(err) +diff --git a/internal/client/object_storage_clients.go b/internal/client/object_storage_clients.go +index 2245abbe5483b4910f5dcb2bd837ac2bb05933be..7001a1e8edb4ac3e10f6c97d421e3f7fb62eb447 100644 +--- a/internal/client/object_storage_clients.go ++++ b/internal/client/object_storage_clients.go +@@ -4,8 +4,6 @@ + package client + + import ( +- "os" +- + oci_object_storage "github.com/oracle/oci-go-sdk/v65/objectstorage" + + oci_common "github.com/oracle/oci-go-sdk/v65/common" +@@ -16,10 +14,6 @@ func init() { + } + + func initObjectstorageObjectStorageClient(configProvider oci_common.ConfigurationProvider, configureClient ConfigureClient, serviceClientOverrides ServiceClientOverrides) (interface{}, error) { +- err := os.Setenv("OCI_REALM_SPECIFIC_SERVICE_ENDPOINT_TEMPLATE_ENABLED", "false") +- if err != nil { +- return nil, err +- } + client, err := oci_object_storage.NewObjectStorageClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err +diff --git a/internal/client/provider_clients.go b/internal/client/provider_clients.go +index e83195c0d95badaf62a136b0c7b850784aae2ab3..69cd3d0e1c9e9fabae4b9f51aa1d9c64f9a7eba4 100644 +--- a/internal/client/provider_clients.go ++++ b/internal/client/provider_clients.go +@@ -7,6 +7,7 @@ import ( + "fmt" + "strconv" + "strings" ++ "sync" + + "github.com/oracle/terraform-provider-oci/internal/tfresource" + +@@ -26,8 +27,17 @@ import ( + ) + + var OracleClientRegistrationsVar *OracleClientRegistrations // This is a global registration for all oracle clients. This is invariant information about all clients regardless of region ++var oracleClientRegistrationState struct { ++ sync.Mutex ++ frozen bool ++} + + func RegisterOracleClient(name string, client *OracleClient) { ++ oracleClientRegistrationState.Lock() ++ defer oracleClientRegistrationState.Unlock() ++ if oracleClientRegistrationState.frozen { ++ panic(fmt.Sprintf("cannot register Oracle client %q after registrations are frozen", name)) ++ } + if OracleClientRegistrationsVar == nil { + OracleClientRegistrationsVar = &OracleClientRegistrations{ + RegisteredClients: make(map[string]*OracleClient), +@@ -36,9 +46,13 @@ func RegisterOracleClient(name string, client *OracleClient) { + OracleClientRegistrationsVar.RegisteredClients[name] = client + } + +-type ConfigureClient func(client *oci_common.BaseClient) error ++func FreezeOracleClientRegistrations() { ++ oracleClientRegistrationState.Lock() ++ defer oracleClientRegistrationState.Unlock() ++ oracleClientRegistrationState.frozen = true ++} + +-var ConfigureClientVar ConfigureClient // global fn ref used to configure all clients initially and others later on ++type ConfigureClient func(client *oci_common.BaseClient) error + + type InitSdkClientFn func(oci_common.ConfigurationProvider, ConfigureClient, ServiceClientOverrides) (interface{}, error) + +@@ -58,18 +72,26 @@ type OracleClients struct { + Configuration map[string]string + SdkClientMap map[string]interface{} + WorkRequestClient *oci_work_requests.WorkRequestClient ++ ConfigureClient ConfigureClient + } + + func (m *OracleClients) GetClient(name string) interface{} { + return m.SdkClientMap[name] + } + ++func (m *OracleClients) ConfigureBaseClient(client *oci_common.BaseClient) error { ++ if m != nil && m.ConfigureClient != nil { ++ return m.ConfigureClient(client) ++ } ++ return fmt.Errorf("cannot configure OCI client: no configure client is registered") ++} ++ + // The following clients require special endpoint information that is only known at Terraform apply time; so they + // Create duplicate clients reusing the same Configuration provider as the initialized client and adding the endpoint + // here. + func (m *OracleClients) FunctionsInvokeClientWithEndpoint(endpoint string) (*oci_functions.FunctionsInvokeClient, error) { + if client, err := oci_functions.NewFunctionsInvokeClientWithConfigurationProvider(*m.FunctionsInvokeClient().ConfigurationProvider(), endpoint); err == nil { +- if err = ConfigureClientVar(&client.BaseClient); err != nil { ++ if err = m.ConfigureBaseClient(&client.BaseClient); err != nil { + return nil, err + } + return &client, nil +@@ -79,7 +101,7 @@ func (m *OracleClients) FunctionsInvokeClientWithEndpoint(endpoint string) (*oci + } + func (m *OracleClients) KmsCryptoClientWithEndpoint(endpoint string) (*oci_kms.KmsCryptoClient, error) { + if client, err := oci_kms.NewKmsCryptoClientWithConfigurationProvider(*m.KmsCryptoClient().ConfigurationProvider(), endpoint); err == nil { +- if err = ConfigureClientVar(&client.BaseClient); err != nil { ++ if err = m.ConfigureBaseClient(&client.BaseClient); err != nil { + return nil, err + } + return &client, nil +@@ -90,7 +112,7 @@ func (m *OracleClients) KmsCryptoClientWithEndpoint(endpoint string) (*oci_kms.K + + func (m *OracleClients) KmsManagementClientWithEndpoint(endpoint string) (*oci_kms.KmsManagementClient, error) { + if client, err := oci_kms.NewKmsManagementClientWithConfigurationProvider(*m.KmsManagementClient().ConfigurationProvider(), endpoint); err == nil { +- if err = ConfigureClientVar(&client.BaseClient); err != nil { ++ if err = m.ConfigureBaseClient(&client.BaseClient); err != nil { + return nil, err + } + return &client, nil +@@ -101,7 +123,7 @@ func (m *OracleClients) KmsManagementClientWithEndpoint(endpoint string) (*oci_k + + func (m *OracleClients) IdentityDomainsClientWithEndpoint(endpoint string) (*oci_identity_domains.IdentityDomainsClient, error) { + if client, err := oci_identity_domains.NewIdentityDomainsClientWithConfigurationProvider(*m.IdentityDomainsClient().ConfigurationProvider(), endpoint); err == nil { +- if err = ConfigureClientVar(&client.BaseClient); err != nil { ++ if err = m.ConfigureBaseClient(&client.BaseClient); err != nil { + return nil, err + } + return &client, nil +@@ -130,6 +152,8 @@ func getClientHostOverrides() map[string]string { + } + + func CreateSDKClients(clients *OracleClients, configProvider oci_common.ConfigurationProvider, configureClient ConfigureClient) (err error) { ++ clients.ConfigureClient = configureClient ++ + if OracleClientRegistrationsVar == nil || len(OracleClientRegistrationsVar.RegisteredClients) == 0 { + return fmt.Errorf("there are no clients to Create") + } +diff --git a/internal/client/provider_clients_nofork_test.go b/internal/client/provider_clients_nofork_test.go +new file mode 100644 +index 0000000000000000000000000000000000000000..9dc06ef5263769b1f0115f25172513e60bfd6f0b +--- /dev/null ++++ b/internal/client/provider_clients_nofork_test.go +@@ -0,0 +1,211 @@ ++// Copyright (c) 2026, Oracle and/or its affiliates. All rights reserved. ++// Licensed under the Mozilla Public License v2.0 ++ ++package client ++ ++import ( ++ "crypto/rand" ++ "crypto/rsa" ++ "sync" ++ "sync/atomic" ++ "testing" ++ ++ oci_common "github.com/oracle/oci-go-sdk/v65/common" ++ oci_functions "github.com/oracle/oci-go-sdk/v65/functions" ++ oci_identity_domains "github.com/oracle/oci-go-sdk/v65/identitydomains" ++ oci_kms "github.com/oracle/oci-go-sdk/v65/keymanagement" ++) ++ ++func TestOracleClientsConfigureBaseClientIsolation(t *testing.T) { ++ var firstCalls atomic.Int64 ++ var secondCalls atomic.Int64 ++ ++ first := &OracleClients{ConfigureClient: func(*oci_common.BaseClient) error { ++ firstCalls.Add(1) ++ return nil ++ }} ++ second := &OracleClients{ConfigureClient: func(*oci_common.BaseClient) error { ++ secondCalls.Add(1) ++ return nil ++ }} ++ ++ const calls = 100 ++ var wg sync.WaitGroup ++ wg.Add(2) ++ go func() { ++ defer wg.Done() ++ for range calls { ++ if err := first.ConfigureBaseClient(&oci_common.BaseClient{}); err != nil { ++ t.Errorf("first ConfigureBaseClient returned error: %v", err) ++ return ++ } ++ } ++ }() ++ go func() { ++ defer wg.Done() ++ for range calls { ++ if err := second.ConfigureBaseClient(&oci_common.BaseClient{}); err != nil { ++ t.Errorf("second ConfigureBaseClient returned error: %v", err) ++ return ++ } ++ } ++ }() ++ wg.Wait() ++ ++ if got := firstCalls.Load(); got != calls { ++ t.Fatalf("first callback calls = %d, want %d", got, calls) ++ } ++ if got := secondCalls.Load(); got != calls { ++ t.Fatalf("second callback calls = %d, want %d", got, calls) ++ } ++} ++ ++func TestOracleClientsConfigureBaseClientRequiresCallback(t *testing.T) { ++ if err := (&OracleClients{}).ConfigureBaseClient(&oci_common.BaseClient{}); err == nil { ++ t.Fatal("ConfigureBaseClient returned nil error without a callback") ++ } ++} ++ ++func TestEndpointSpecificClientsUseInstanceCallback(t *testing.T) { ++ first := newEndpointTestClients(t, "first-provider-config") ++ second := newEndpointTestClients(t, "second-provider-config") ++ ++ testCases := []struct { ++ name string ++ create func(*OracleClients) (*oci_common.BaseClient, error) ++ }{ ++ { ++ name: "Functions", ++ create: func(clients *OracleClients) (*oci_common.BaseClient, error) { ++ client, err := clients.FunctionsInvokeClientWithEndpoint("https://functions.example.com") ++ return &client.BaseClient, err ++ }, ++ }, ++ { ++ name: "KMS crypto", ++ create: func(clients *OracleClients) (*oci_common.BaseClient, error) { ++ client, err := clients.KmsCryptoClientWithEndpoint("https://kms-crypto.example.com") ++ return &client.BaseClient, err ++ }, ++ }, ++ { ++ name: "KMS management", ++ create: func(clients *OracleClients) (*oci_common.BaseClient, error) { ++ client, err := clients.KmsManagementClientWithEndpoint("https://kms-management.example.com") ++ return &client.BaseClient, err ++ }, ++ }, ++ { ++ name: "Identity Domains", ++ create: func(clients *OracleClients) (*oci_common.BaseClient, error) { ++ client, err := clients.IdentityDomainsClientWithEndpoint("https://identity-domains.example.com") ++ return &client.BaseClient, err ++ }, ++ }, ++ } ++ ++ for _, testCase := range testCases { ++ t.Run(testCase.name, func(t *testing.T) { ++ var firstClient *oci_common.BaseClient ++ var secondClient *oci_common.BaseClient ++ var firstErr error ++ var secondErr error ++ ++ var wg sync.WaitGroup ++ wg.Add(2) ++ go func() { ++ defer wg.Done() ++ firstClient, firstErr = testCase.create(first) ++ }() ++ go func() { ++ defer wg.Done() ++ secondClient, secondErr = testCase.create(second) ++ }() ++ wg.Wait() ++ ++ if firstErr != nil { ++ t.Fatalf("first client creation returned error: %v", firstErr) ++ } ++ if secondErr != nil { ++ t.Fatalf("second client creation returned error: %v", secondErr) ++ } ++ if got := firstClient.UserAgent; got != "first-provider-config" { ++ t.Fatalf("first client user agent = %q, want first ProviderConfig callback", got) ++ } ++ if got := secondClient.UserAgent; got != "second-provider-config" { ++ t.Fatalf("second client user agent = %q, want second ProviderConfig callback", got) ++ } ++ }) ++ } ++} ++ ++func newEndpointTestClients(t *testing.T, userAgent string) *OracleClients { ++ t.Helper() ++ privateKey, err := rsa.GenerateKey(rand.Reader, 1024) ++ if err != nil { ++ t.Fatalf("generate test private key: %v", err) ++ } ++ configProvider := endpointTestConfiguration{privateKey: privateKey} ++ ++ functionsClient, err := oci_functions.NewFunctionsInvokeClientWithConfigurationProvider(configProvider, "https://functions-primary.example.com") ++ if err != nil { ++ t.Fatalf("create primary Functions client: %v", err) ++ } ++ kmsCryptoClient, err := oci_kms.NewKmsCryptoClientWithConfigurationProvider(configProvider, "https://kms-crypto-primary.example.com") ++ if err != nil { ++ t.Fatalf("create primary KMS crypto client: %v", err) ++ } ++ kmsManagementClient, err := oci_kms.NewKmsManagementClientWithConfigurationProvider(configProvider, "https://kms-management-primary.example.com") ++ if err != nil { ++ t.Fatalf("create primary KMS management client: %v", err) ++ } ++ identityDomainsClient, err := oci_identity_domains.NewIdentityDomainsClientWithConfigurationProvider(configProvider, "https://identity-domains-primary.example.com") ++ if err != nil { ++ t.Fatalf("create primary Identity Domains client: %v", err) ++ } ++ ++ return &OracleClients{ ++ SdkClientMap: map[string]interface{}{ ++ "oci_functions.FunctionsInvokeClient": &functionsClient, ++ "oci_kms.KmsCryptoClient": &kmsCryptoClient, ++ "oci_kms.KmsManagementClient": &kmsManagementClient, ++ "oci_identity_domains.IdentityDomainsClient": &identityDomainsClient, ++ }, ++ ConfigureClient: func(client *oci_common.BaseClient) error { ++ client.UserAgent = userAgent ++ return nil ++ }, ++ } ++} ++ ++type endpointTestConfiguration struct { ++ privateKey *rsa.PrivateKey ++} ++ ++func (c endpointTestConfiguration) PrivateRSAKey() (*rsa.PrivateKey, error) { ++ return c.privateKey, nil ++} ++ ++func (endpointTestConfiguration) KeyID() (string, error) { ++ return "tenancy/user/fingerprint", nil ++} ++ ++func (endpointTestConfiguration) TenancyOCID() (string, error) { ++ return "tenancy", nil ++} ++ ++func (endpointTestConfiguration) UserOCID() (string, error) { ++ return "user", nil ++} ++ ++func (endpointTestConfiguration) KeyFingerprint() (string, error) { ++ return "fingerprint", nil ++} ++ ++func (endpointTestConfiguration) Region() (string, error) { ++ return "us-ashburn-1", nil ++} ++ ++func (endpointTestConfiguration) AuthType() (oci_common.AuthConfig, error) { ++ return oci_common.AuthConfig{AuthType: oci_common.UserPrincipal}, nil ++} +diff --git a/internal/integrationtest/helpers_autonomous_database.go b/internal/integrationtest/helpers_autonomous_database.go +index 05c6f02e768b3a92312962038bd614a56c3683d7..158cfcaf6a7597bac27b61b0511a6acdf4ab662b 100644 +--- a/internal/integrationtest/helpers_autonomous_database.go ++++ b/internal/integrationtest/helpers_autonomous_database.go +@@ -259,7 +259,7 @@ func createDatabaseClient(clients *tf_client.OracleClients, region string) (clie + if err != nil { + return client, fmt.Errorf("cannot create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&databaseClient.BaseClient) ++ err = clients.ConfigureBaseClient(&databaseClient.BaseClient) + if err != nil { + return client, fmt.Errorf("cannot configure client for the source region: %v", err) + } +diff --git a/internal/integrationtest/helpers_core_test.go b/internal/integrationtest/helpers_core_test.go +index 05762b7df4c41db4804546cfb44a45d805981f38..537714781cd12e56c869d0462d3e5b0d4e8f9b42 100644 +--- a/internal/integrationtest/helpers_core_test.go ++++ b/internal/integrationtest/helpers_core_test.go +@@ -189,7 +189,7 @@ func createVolumeInRegion(clients *tf_client.OracleClients, region string) (stri + if err != nil { + return "", fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&blockStorageClient.BaseClient) ++ err = clients.ConfigureBaseClient(&blockStorageClient.BaseClient) + if err != nil { + return "", fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -198,7 +198,7 @@ func createVolumeInRegion(clients *tf_client.OracleClients, region string) (stri + if err != nil { + return "", fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&identityClient.BaseClient) ++ err = clients.ConfigureBaseClient(&identityClient.BaseClient) + if err != nil { + return "", fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -249,7 +249,7 @@ func createVolumeGroupInRegion(clients *tf_client.OracleClients, region string, + if err != nil { + return "", fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&blockStorageClient.BaseClient) ++ err = clients.ConfigureBaseClient(&blockStorageClient.BaseClient) + if err != nil { + return "", fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -258,7 +258,7 @@ func createVolumeGroupInRegion(clients *tf_client.OracleClients, region string, + if err != nil { + return "", fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&identityClient.BaseClient) ++ err = clients.ConfigureBaseClient(&identityClient.BaseClient) + if err != nil { + return "", fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -312,7 +312,7 @@ func createVolumeBackupInRegion(clients *tf_client.OracleClients, region string, + if err != nil { + return "", fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&blockStorageClient.BaseClient) ++ err = clients.ConfigureBaseClient(&blockStorageClient.BaseClient) + if err != nil { + return "", fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -350,7 +350,7 @@ func createVolumeGroupBackupInRegion(clients *tf_client.OracleClients, region st + if err != nil { + return "", fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&blockStorageClient.BaseClient) ++ err = clients.ConfigureBaseClient(&blockStorageClient.BaseClient) + if err != nil { + return "", fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -388,7 +388,7 @@ func deleteVolumeInRegion(clients *tf_client.OracleClients, region string, volum + if err != nil { + return fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&blockStorageClient.BaseClient) ++ err = clients.ConfigureBaseClient(&blockStorageClient.BaseClient) + if err != nil { + return fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -412,7 +412,7 @@ func deleteVolumeGroupInRegion(clients *tf_client.OracleClients, region string, + if err != nil { + return fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&blockStorageClient.BaseClient) ++ err = clients.ConfigureBaseClient(&blockStorageClient.BaseClient) + if err != nil { + return fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -436,7 +436,7 @@ func deleteVolumeBackupInRegion(clients *tf_client.OracleClients, region string, + if err != nil { + return fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&blockStorageClient.BaseClient) ++ err = clients.ConfigureBaseClient(&blockStorageClient.BaseClient) + if err != nil { + return fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -460,7 +460,7 @@ func deleteVolumeGroupBackupInRegion(clients *tf_client.OracleClients, region st + if err != nil { + return fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&blockStorageClient.BaseClient) ++ err = clients.ConfigureBaseClient(&blockStorageClient.BaseClient) + if err != nil { + return fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -518,7 +518,7 @@ func createBootVolumeInRegion(clients *tf_client.OracleClients, region string) ( + if err != nil { + return "", "", fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&blockStorageClient.BaseClient) ++ err = clients.ConfigureBaseClient(&blockStorageClient.BaseClient) + if err != nil { + return "", "", fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -527,7 +527,7 @@ func createBootVolumeInRegion(clients *tf_client.OracleClients, region string) ( + if err != nil { + return "", "", fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&identityClient.BaseClient) ++ err = clients.ConfigureBaseClient(&identityClient.BaseClient) + if err != nil { + return "", "", fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -638,7 +638,7 @@ func createBootVolumeBackupInRegion(clients *tf_client.OracleClients, region str + if err != nil { + return "", fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&blockStorageClient.BaseClient) ++ err = clients.ConfigureBaseClient(&blockStorageClient.BaseClient) + if err != nil { + return "", fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -676,7 +676,7 @@ func deleteBootVolumeInRegion(clients *tf_client.OracleClients, region string, b + if err != nil { + return fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&blockStorageClient.BaseClient) ++ err = clients.ConfigureBaseClient(&blockStorageClient.BaseClient) + if err != nil { + return fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -700,7 +700,7 @@ func deleteBootVolumeBackupInRegion(clients *tf_client.OracleClients, region str + if err != nil { + return fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&blockStorageClient.BaseClient) ++ err = clients.ConfigureBaseClient(&blockStorageClient.BaseClient) + if err != nil { + return fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -724,7 +724,7 @@ func terminateInstanceInRegion(clients *tf_client.OracleClients, region string, + if err != nil { + return fmt.Errorf("cannot Create client for the source region %s: %v", region, err) + } +- err = tf_client.ConfigureClientVar(&computeClient.BaseClient) ++ err = clients.ConfigureBaseClient(&computeClient.BaseClient) + if err != nil { + return fmt.Errorf("cannot configure client for the source region: %v", err) + } +diff --git a/internal/integrationtest/helpers_mysql_test.go b/internal/integrationtest/helpers_mysql_test.go +index f4d8c05cf513061d4355bb59bac37e98781e49ac..881a2384ed5714636b4cd5fda3454cf0156d62e8 100644 +--- a/internal/integrationtest/helpers_mysql_test.go ++++ b/internal/integrationtest/helpers_mysql_test.go +@@ -25,7 +25,7 @@ func createDbSystemInRegion(clients *tf_client.OracleClients, region string) (st + return "", fmt.Errorf("cannot Create client for the region %s: %v", region, err) + } + +- err = tf_client.ConfigureClientVar(&dbSystemClient.BaseClient) ++ err = clients.ConfigureBaseClient(&dbSystemClient.BaseClient) + if err != nil { + return "", fmt.Errorf("cannot configure client for the region: %v", err) + } +@@ -37,7 +37,7 @@ func createDbSystemInRegion(clients *tf_client.OracleClients, region string) (st + return "", fmt.Errorf("cannot Create client for the region %s: %v", region, err) + } + +- err = tf_client.ConfigureClientVar(&identityClient.BaseClient) ++ err = clients.ConfigureBaseClient(&identityClient.BaseClient) + if err != nil { + return "", fmt.Errorf("cannot configure client for the region: %v", err) + } +@@ -173,7 +173,7 @@ func deleteDbSystemInRegion(clients *tf_client.OracleClients, region string, mys + return fmt.Errorf("cannot Create client for the region %s: %v", region, err) + } + +- err = tf_client.ConfigureClientVar(&dbSystemClient.BaseClient) ++ err = clients.ConfigureBaseClient(&dbSystemClient.BaseClient) + if err != nil { + return fmt.Errorf("cannot configure client for the region: %v", err) + } +@@ -226,7 +226,7 @@ func initializeDbBackupsClientWithConfigurationProvider(clients *tf_client.Oracl + return nil, fmt.Errorf("cannot create client for the region %s: %v", region, err) + } + +- err = tf_client.ConfigureClientVar(&dbBackupsClient.BaseClient) ++ err = clients.ConfigureBaseClient(&dbBackupsClient.BaseClient) + if err != nil { + return nil, fmt.Errorf("cannot configure client for the region: %v", err) + } +diff --git a/internal/provider/provider.go b/internal/provider/provider.go +index 7cfed98a6c1e6cb3a2f935a93f133c8cc17ff529..47e18eeb1dd8ae805c8f66d7c53131ab23103ecd 100644 +--- a/internal/provider/provider.go ++++ b/internal/provider/provider.go +@@ -13,6 +13,7 @@ import ( + "path/filepath" + "strconv" + "strings" ++ "sync" + "time" + + tf_core "github.com/oracle/terraform-provider-oci/internal/service/core" +@@ -41,11 +42,10 @@ import ( + + var descriptions map[string]string + var ApiKeyConfigAttributes = [5]string{globalvar.UserOcidAttrName, globalvar.FingerprintAttrName, globalvar.PrivateKeyAttrName, globalvar.PrivateKeyPathAttrName, globalvar.PrivateKeyPasswordAttrName} +-var ociProvider *schema.Provider + +-var TerraformCLIVersion = globalvar.UnknownTerraformCLIVersion + var schemaMultiEnvDefaultFuncVar = schema.MultiEnvDefaultFunc + var AvoidWaitingForDeleteTarget bool ++var providerRegistrationsOnce sync.Once + + // creating an interface to aid in unit tests + type schemaResourceData interface { +@@ -123,13 +123,16 @@ func init() { + } + + func Provider() *schema.Provider { +- ociProvider = &schema.Provider{ ++ prepareProviderRegistrations() ++ p := &schema.Provider{ + DataSourcesMap: DataSourcesMap(), + Schema: SchemaMap(), + ResourcesMap: ResourcesMap(), +- ConfigureFunc: ProviderConfig, + } +- return ociProvider ++ p.ConfigureFunc = func(d *schema.ResourceData) (interface{}, error) { ++ return providerConfig(d, p.TerraformVersion) ++ } ++ return p + } + + func SchemaMap() map[string]*schema.Schema { +@@ -300,60 +303,29 @@ func SchemaMap() map[string]*schema.Schema { + // This returns a map of all data sources to register with Terraform + // The OciDatasources map is populated by each datasource's init function being invoked before it gets here + func DataSourcesMap() map[string]*schema.Resource { +- // Register some aliases of registered datasources. These are registered for convenience and legacy reasons. +- if oci_common.CheckForEnabledServices(globalvar.CoreService) { +- tf_resource.RegisterDatasource("oci_core_listing_resource_version", tf_core.CoreAppCatalogListingResourceVersionDataSource()) +- tf_resource.RegisterDatasource("oci_core_listing_resource_versions", tf_core.CoreAppCatalogListingResourceVersionsDataSource()) +- tf_resource.RegisterDatasource("oci_core_shape", tf_core.CoreShapesDataSource()) +- tf_resource.RegisterDatasource("oci_core_virtual_networks", tf_core.CoreVcnsDataSource()) +- } +- if oci_common.CheckForEnabledServices(globalvar.LoadBalancerService) { +- tf_resource.RegisterDatasource("oci_load_balancers", tf_load_balancer.LoadBalancerLoadBalancersDataSource()) +- tf_resource.RegisterDatasource("oci_load_balancer_backendsets", tf_load_balancer.LoadBalancerBackendSetsDataSource()) +- } +- return globalvar.OciDatasources ++ prepareProviderRegistrations() ++ return cloneSDKv2ResourceMap(globalvar.OciDatasources) + } + + // This returns a map of all resources to register with Terraform + // The OciResource map is populated by each resource's init function being invoked before it gets here + func ResourcesMap() map[string]*schema.Resource { +- // Register some aliases of registered resources. These are registered for convenience and legacy reasons. +- if oci_common.CheckForEnabledServices(globalvar.CoreService) { +- tf_resource.RegisterResource("oci_core_virtual_network", tf_core.CoreVcnResource()) +- } +- if oci_common.CheckForEnabledServices(globalvar.LoadBalancerService) { +- tf_resource.RegisterResource("oci_load_balancer", tf_load_balancer.LoadBalancerLoadBalancerResource()) +- tf_resource.RegisterResource("oci_load_balancer_backendset", tf_load_balancer.LoadBalancerBackendSetResource()) +- } +- return globalvar.OciResources ++ prepareProviderRegistrations() ++ return cloneSDKv2ResourceMap(globalvar.OciResources) + } + + func ProviderConfig(d *schema.ResourceData) (interface{}, error) { +- tf_resource.DefinedTagsToSuppress = IgnoreDefinedTags(d) +- tf_resource.RealmSpecificServiceEndpointTemplateEnabled = realmSpecificServiceEndpointTemplateEnabled(d) +- tf_resource.DualStackEndpointTemplateEnabled = dualStackEndpointEnabled(d) +- clients := &tf_client.OracleClients{ +- SdkClientMap: make(map[string]interface{}, len(tf_client.OracleClientRegistrationsVar.RegisteredClients)), +- Configuration: make(map[string]string), +- } ++ return providerConfig(d, globalvar.UnknownTerraformCLIVersion) ++} + +- if d.Get(globalvar.DisableAutoRetriesAttrName).(bool) { +- tf_resource.ShortRetryTime = 0 +- tf_resource.LongRetryTime = 0 +- } else if retryDurationSeconds, exists := d.GetOkExists(globalvar.RetryDurationSecondsAttrName); exists { +- val := time.Duration(retryDurationSeconds.(int)) * time.Second +- if retryDurationSeconds.(int) < 0 { +- // Retry for maximum amount of time, if a negative value was specified +- val = time.Duration(globalvar.MaxInt64) +- } +- tf_resource.ConfiguredRetryDuration = &val ++func providerConfig(d *schema.ResourceData, terraformVersion string) (interface{}, error) { ++ if err := validateNoForkProviderGlobalConfig(d); err != nil { ++ return nil, err + } + +- if retriesConfigFile, exists := d.GetOkExists(globalvar.RetriesConfigFile); exists { +- err := tf_resource.SetRetriesConfig(retriesConfigFile.(string)) +- if err != nil { +- return nil, err +- } ++ clients := &tf_client.OracleClients{ ++ SdkClientMap: make(map[string]interface{}, len(tf_client.OracleClientRegistrationsVar.RegisteredClients)), ++ Configuration: make(map[string]string), + } + + sdkConfigProvider, err := GetSdkConfigProvider(d, clients) +@@ -363,22 +335,113 @@ func ProviderConfig(d *schema.ResourceData) (interface{}, error) { + + httpClient := BuildHttpClient() + +- // beware: global variable `configureClient` set here--used elsewhere outside this execution path +- tf_client.ConfigureClientVar, err = BuildConfigureClientFn(sdkConfigProvider, httpClient) ++ configureClient, err := buildConfigureClientFn(sdkConfigProvider, httpClient, terraformVersion) + if err != nil { + return nil, err + } + +- err = tf_client.CreateSDKClients(clients, sdkConfigProvider, tf_client.ConfigureClientVar) ++ err = tf_client.CreateSDKClients(clients, sdkConfigProvider, configureClient) + if err != nil { + return nil, err + } + +- AvoidWaitingForDeleteTarget, _ = strconv.ParseBool(utils.GetEnvSettingWithDefault("avoid_waiting_for_delete_target", "false")) +- + return clients, nil + } + ++func prepareProviderRegistrations() { ++ providerRegistrationsOnce.Do(func() { ++ if oci_common.CheckForEnabledServices(globalvar.CoreService) { ++ tf_resource.RegisterDatasource("oci_core_listing_resource_version", tf_core.CoreAppCatalogListingResourceVersionDataSource()) ++ tf_resource.RegisterDatasource("oci_core_listing_resource_versions", tf_core.CoreAppCatalogListingResourceVersionsDataSource()) ++ tf_resource.RegisterDatasource("oci_core_shape", tf_core.CoreShapesDataSource()) ++ tf_resource.RegisterDatasource("oci_core_virtual_networks", tf_core.CoreVcnsDataSource()) ++ tf_resource.RegisterResource("oci_core_virtual_network", tf_core.CoreVcnResource()) ++ } ++ if oci_common.CheckForEnabledServices(globalvar.LoadBalancerService) { ++ tf_resource.RegisterDatasource("oci_load_balancers", tf_load_balancer.LoadBalancerLoadBalancersDataSource()) ++ tf_resource.RegisterDatasource("oci_load_balancer_backendsets", tf_load_balancer.LoadBalancerBackendSetsDataSource()) ++ tf_resource.RegisterResource("oci_load_balancer", tf_load_balancer.LoadBalancerLoadBalancerResource()) ++ tf_resource.RegisterResource("oci_load_balancer_backendset", tf_load_balancer.LoadBalancerBackendSetResource()) ++ } ++ tf_resource.FreezeRegistrations() ++ tf_client.FreezeOracleClientRegistrations() ++ }) ++} ++ ++func cloneSDKv2ResourceMap(source map[string]*schema.Resource) map[string]*schema.Resource { ++ result := make(map[string]*schema.Resource, len(source)) ++ for name, resource := range source { ++ result[name] = cloneSDKv2Resource(resource) ++ } ++ return result ++} ++ ++func cloneSDKv2Resource(source *schema.Resource) *schema.Resource { ++ if source == nil { ++ return nil ++ } ++ result := *source ++ result.Schema = cloneSDKv2SchemaMap(source.Schema) ++ if source.SchemaFunc != nil { ++ schemaFunc := source.SchemaFunc ++ result.SchemaFunc = func() map[string]*schema.Schema { ++ return cloneSDKv2SchemaMap(schemaFunc()) ++ } ++ } ++ return &result ++} ++ ++func cloneSDKv2SchemaMap(source map[string]*schema.Schema) map[string]*schema.Schema { ++ if source == nil { ++ return nil ++ } ++ result := make(map[string]*schema.Schema, len(source)) ++ for name, field := range source { ++ result[name] = cloneSDKv2Schema(field) ++ } ++ return result ++} ++ ++func cloneSDKv2Schema(source *schema.Schema) *schema.Schema { ++ if source == nil { ++ return nil ++ } ++ result := *source ++ switch element := source.Elem.(type) { ++ case *schema.Schema: ++ result.Elem = cloneSDKv2Schema(element) ++ case *schema.Resource: ++ result.Elem = cloneSDKv2Resource(element) ++ } ++ return &result ++} ++ ++func validateNoForkProviderGlobalConfig(d *schema.ResourceData) error { ++ unsupported := []string{} ++ if tags := IgnoreDefinedTags(d); len(tags) != 0 { ++ unsupported = append(unsupported, globalvar.DefinedTagsToIgnore) ++ } ++ if realmSpecificServiceEndpointTemplateEnabled(d) != "" { ++ unsupported = append(unsupported, globalvar.RealmSpecificServiceEndpointTemplateEnabled) ++ } ++ if dualStackEndpointEnabled(d) != "" { ++ unsupported = append(unsupported, globalvar.DualStackEndpointEnabled) ++ } ++ if d.Get(globalvar.DisableAutoRetriesAttrName).(bool) { ++ unsupported = append(unsupported, globalvar.DisableAutoRetriesAttrName) ++ } ++ if _, exists := d.GetOkExists(globalvar.RetryDurationSecondsAttrName); exists { ++ unsupported = append(unsupported, globalvar.RetryDurationSecondsAttrName) ++ } ++ if _, exists := d.GetOkExists(globalvar.RetriesConfigFile); exists { ++ unsupported = append(unsupported, globalvar.RetriesConfigFile) ++ } ++ if len(unsupported) != 0 { ++ return fmt.Errorf("provider-global Terraform option(s) are not supported by OCI no-fork runtime: %s", strings.Join(unsupported, ", ")) ++ } ++ return nil ++} ++ + func GetSdkConfigProvider(d *schema.ResourceData, clients *tf_client.OracleClients) (oci_common.ConfigurationProvider, error) { + + auth := strings.ToLower(d.Get(globalvar.AuthAttrName).(string)) +@@ -719,12 +782,15 @@ func UserAgentFromEnv() string { + } + + func BuildConfigureClientFn(configProvider oci_common.ConfigurationProvider, httpClient *http.Client) (tf_client.ConfigureClient, error) { ++ return buildConfigureClientFn(configProvider, httpClient, globalvar.UnknownTerraformCLIVersion) ++} + +- if ociProvider != nil && len(ociProvider.TerraformVersion) > 0 { +- TerraformCLIVersion = ociProvider.TerraformVersion ++func buildConfigureClientFn(configProvider oci_common.ConfigurationProvider, httpClient *http.Client, terraformVersion string) (tf_client.ConfigureClient, error) { ++ if terraformVersion == "" { ++ terraformVersion = globalvar.UnknownTerraformCLIVersion + } + userAgentProviderName := UserAgentFromEnv() +- userAgent := fmt.Sprintf(globalvar.UserAgentFormatter, oci_common.Version(), runtime.Version(), runtime.GOOS, runtime.GOARCH, sdkMeta.SDKVersionString(), TerraformCLIVersion, userAgentProviderName, globalvar.Version) ++ userAgent := fmt.Sprintf(globalvar.UserAgentFormatter, oci_common.Version(), runtime.Version(), runtime.GOOS, runtime.GOARCH, sdkMeta.SDKVersionString(), terraformVersion, userAgentProviderName, globalvar.Version) + + useOboToken, err := strconv.ParseBool(utils.GetEnvSettingWithDefault("use_obo_token", "false")) + if err != nil { +diff --git a/internal/provider/provider_framework.go b/internal/provider/provider_framework.go +index 8fab264ca9cc488bb5787f76ba389b2921cda4f8..b584ba15cb27d5efe11d5b8c0c703b91f3d6b96c 100644 +--- a/internal/provider/provider_framework.go ++++ b/internal/provider/provider_framework.go +@@ -11,7 +11,6 @@ import ( + "path/filepath" + "strconv" + "strings" +- "time" + + "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + "github.com/hashicorp/terraform-plugin-framework/datasource" +@@ -24,7 +23,6 @@ import ( + oci_common_auth "github.com/oracle/oci-go-sdk/v65/common/auth" + tf_client "github.com/oracle/terraform-provider-oci/internal/client" + "github.com/oracle/terraform-provider-oci/internal/globalvar" +- tf_resource "github.com/oracle/terraform-provider-oci/internal/tfresource" + "github.com/oracle/terraform-provider-oci/internal/utils" + ) + +@@ -88,6 +86,7 @@ type ociProviderModel struct { + } + + func New() provider.Provider { ++ prepareProviderRegistrations() + return &ociPluginProvider{} + } + +@@ -235,6 +234,7 @@ func (p *ociPluginProvider) Configure(ctx context.Context, req provider.Configur + clients, err := p.SetProviderConfig() + if err != nil { + log.Println("PluginProvider Configure err....", err) ++ resp.Diagnostics.AddError("Unable to configure OCI provider", err.Error()) + return + } + +@@ -244,11 +244,13 @@ func (p *ociPluginProvider) Configure(ctx context.Context, req provider.Configur + } + + func (p *ociPluginProvider) Resources(_ context.Context) []func() resource.Resource { +- return globalvar.OciFrameworkResources ++ prepareProviderRegistrations() ++ return append([]func() resource.Resource(nil), globalvar.OciFrameworkResources...) + } + + func (p *ociPluginProvider) DataSources(_ context.Context) []func() datasource.DataSource { +- return globalvar.OciFrameworkDataSources ++ prepareProviderRegistrations() ++ return append([]func() datasource.DataSource(nil), globalvar.OciFrameworkDataSources...) + } + + func (p *ociPluginProvider) SetDefaults(config *ociProviderModel) { +@@ -361,44 +363,23 @@ func (p *ociPluginProvider) SetDefaults(config *ociProviderModel) { + p.disableAutoRetries = config.DisableAutoRetries.ValueBool() + p.retryDurationSeconds = config.RetryDurationSeconds.ValueInt64() + p.configFileProfile = config.ConfigFileProfile.ValueString() +- p.configured = true +- tf_resource.RealmSpecificServiceEndpointTemplateEnabled = getStringFromFwBool(config.RealmSpecificServiceEndpointTemplateEnabled) +- tf_resource.DualStackEndpointTemplateEnabled = getStringFromFwBool(config.DualStackEndpointEnabled) ++ p.realmSpecificServiceEndpointTemplateEnabled = config.RealmSpecificServiceEndpointTemplateEnabled.ValueBool() ++ p.dualStackEndpointEnabled = config.DualStackEndpointEnabled.ValueBool() + p.retriesConfigFile = config.RetriesConfigFile.ValueString() ++ p.configured = true + + } + + func (p *ociPluginProvider) SetProviderConfig() (interface{}, error) { +- //tf_resource.DefinedTagsToSuppress = IgnoreDefinedTags(req) ++ if err := p.validateNoForkProviderGlobalConfig(); err != nil { ++ return nil, err ++ } ++ + clients := &tf_client.OracleClients{ + SdkClientMap: make(map[string]interface{}, len(tf_client.OracleClientRegistrationsVar.RegisteredClients)), + Configuration: make(map[string]string), + } + +- disableAutoRetries := p.disableAutoRetries +- +- retryDurationSeconds := p.retryDurationSeconds +- +- if disableAutoRetries { +- tf_resource.ShortRetryTime = 0 +- tf_resource.LongRetryTime = 0 +- } else if retryDurationSeconds > 0 { +- val := time.Duration(retryDurationSeconds) * time.Second +- if retryDurationSeconds < 0 { +- // Retry for maximum amount of time, if a negative value was specified +- val = time.Duration(globalvar.MaxInt64) +- } +- tf_resource.ConfiguredRetryDuration = &val +- } +- +- retriesConfigFile := p.retriesConfigFile +- if len(retriesConfigFile) > 0 { +- err := tf_resource.SetRetriesConfig(retriesConfigFile) +- if err != nil { +- return nil, err +- } +- } +- + sdkConfigProvider, err := p._GetSdkConfigProvider(clients) + if err != nil { + return nil, err +@@ -406,22 +387,45 @@ func (p *ociPluginProvider) SetProviderConfig() (interface{}, error) { + + httpClient := BuildHttpClient() + +- // beware: global variable `configureClient` set here--used elsewhere outside this execution path +- tf_client.ConfigureClientVar, err = BuildConfigureClientFn(sdkConfigProvider, httpClient) ++ configureClient, err := BuildConfigureClientFn(sdkConfigProvider, httpClient) + if err != nil { + return nil, err + } + +- err = tf_client.CreateSDKClients(clients, sdkConfigProvider, tf_client.ConfigureClientVar) ++ err = tf_client.CreateSDKClients(clients, sdkConfigProvider, configureClient) + if err != nil { + return nil, err + } + +- AvoidWaitingForDeleteTarget, _ = strconv.ParseBool(utils.GetEnvSettingWithDefault("avoid_waiting_for_delete_target", "false")) +- + return clients, nil + } + ++func (p *ociPluginProvider) validateNoForkProviderGlobalConfig() error { ++ unsupported := []string{} ++ if len(p.ignoreDefinedTags) != 0 { ++ unsupported = append(unsupported, globalvar.DefinedTagsToIgnore) ++ } ++ if p.realmSpecificServiceEndpointTemplateEnabled { ++ unsupported = append(unsupported, globalvar.RealmSpecificServiceEndpointTemplateEnabled) ++ } ++ if p.dualStackEndpointEnabled { ++ unsupported = append(unsupported, globalvar.DualStackEndpointEnabled) ++ } ++ if p.disableAutoRetries { ++ unsupported = append(unsupported, globalvar.DisableAutoRetriesAttrName) ++ } ++ if p.retryDurationSeconds != 0 { ++ unsupported = append(unsupported, globalvar.RetryDurationSecondsAttrName) ++ } ++ if p.retriesConfigFile != "" { ++ unsupported = append(unsupported, globalvar.RetriesConfigFile) ++ } ++ if len(unsupported) != 0 { ++ return fmt.Errorf("provider-global Terraform option(s) are not supported by OCI no-fork runtime: %s", strings.Join(unsupported, ", ")) ++ } ++ return nil ++} ++ + func (p *ociPluginProvider) _GetSdkConfigProvider(clients *tf_client.OracleClients) (oci_common.ConfigurationProvider, error) { + auth := strings.ToLower(p.auth) + profile := p.configFileProfile +diff --git a/internal/provider/provider_test.go b/internal/provider/provider_test.go +index e37034ccc543a1316b99b4938449f0a0cb1a757b..9aba935333ef8689d91524d740acde6afd7fc568 100644 +--- a/internal/provider/provider_test.go ++++ b/internal/provider/provider_test.go +@@ -683,6 +683,44 @@ func TestUnit_RegisterResourceMap(t *testing.T) { + } + } + ++func TestUnit_ProviderInstancesAreIsolated(t *testing.T) { ++ first := Provider() ++ second := Provider() ++ if first == second { ++ t.Fatal("Provider returned a shared instance") ++ } ++ ++ for resourceName, firstResource := range first.ResourcesMap { ++ secondResource := second.ResourcesMap[resourceName] ++ if firstResource == nil || secondResource == nil || len(firstResource.Schema) == 0 { ++ continue ++ } ++ if firstResource == secondResource { ++ t.Fatalf("resource %q is shared between provider instances", resourceName) ++ } ++ ++ for fieldName, firstField := range firstResource.Schema { ++ secondField := secondResource.Schema[fieldName] ++ if firstField == nil || secondField == nil { ++ continue ++ } ++ if firstField == secondField { ++ t.Fatalf("resource %q field %q is shared between provider instances", resourceName, fieldName) ++ } ++ firstField.Description = "mutated provider instance" ++ if secondField.Description == firstField.Description { ++ t.Fatalf("mutating resource %q field %q affected another provider instance", resourceName, fieldName) ++ } ++ delete(first.ResourcesMap, resourceName) ++ if second.ResourcesMap[resourceName] == nil { ++ t.Fatalf("deleting resource %q affected another provider instance", resourceName) ++ } ++ return ++ } ++ } ++ t.Fatal("could not find a provider resource schema to test") ++} ++ + func TestUnit_DataSourcesMap(t *testing.T) { + tests := []struct { + name string +diff --git a/internal/resourcediscovery/export_compartment.go b/internal/resourcediscovery/export_compartment.go +index 5dfe2df396c8fab1db7181b3e94eb4c293c47e7e..99e945ca0c4675e6baf2aa815fd2a210e87e83a3 100644 +--- a/internal/resourcediscovery/export_compartment.go ++++ b/internal/resourcediscovery/export_compartment.go +@@ -381,7 +381,6 @@ func getExportConfig(d *schema.ResourceData) (interface{}, error) { + return nil, err + } + +- // beware: global variable `configureClient` set here--used elsewhere outside this execution path + configureClientLocal, err := tfProviderBuildConfigureClientFn(sdkConfigProvider, httpClient) + if err != nil { + return nil, err +@@ -394,8 +393,6 @@ func getExportConfig(d *schema.ResourceData) (interface{}, error) { + client.UserAgent = userAgentString + return nil + } +- // beware: global variable `configureClient` set here--used elsewhere outside this execution path +- tf_client.ConfigureClientVar = configureClientWithUserAgent + err = createSDKClientsVar(clients, sdkConfigProvider, configureClientWithUserAgent) + if err != nil { + return nil, err +diff --git a/internal/service/core/core_boot_volume_backup_resource.go b/internal/service/core/core_boot_volume_backup_resource.go +index 2ddb0204ec8aec995106b693a158edb35be35eea..59c4002c11d3a6f4d51e90fcd3c54dd4dde50772 100644 +--- a/internal/service/core/core_boot_volume_backup_resource.go ++++ b/internal/service/core/core_boot_volume_backup_resource.go +@@ -154,6 +154,7 @@ func createCoreBootVolumeBackup(d *schema.ResourceData, m interface{}) error { + sync := &CoreBootVolumeBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).BlockstorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + sync.workRequestClient = m.(*client.OracleClients).WorkRequestClient + + compartment, ok := sync.D.GetOkExists("compartment_id") +@@ -186,6 +187,7 @@ func readCoreBootVolumeBackup(d *schema.ResourceData, m interface{}) error { + sync := &CoreBootVolumeBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).BlockstorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + sync.workRequestClient = m.(*client.OracleClients).WorkRequestClient + + return tfresource.ReadResource(sync) +@@ -195,6 +197,7 @@ func updateCoreBootVolumeBackup(d *schema.ResourceData, m interface{}) error { + sync := &CoreBootVolumeBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).BlockstorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + sync.workRequestClient = m.(*client.OracleClients).WorkRequestClient + + return tfresource.UpdateResource(d, sync) +@@ -204,6 +207,7 @@ func deleteCoreBootVolumeBackup(d *schema.ResourceData, m interface{}) error { + sync := &CoreBootVolumeBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).BlockstorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + sync.workRequestClient = m.(*client.OracleClients).WorkRequestClient + sync.DisableNotFoundRetries = true + +@@ -213,6 +217,7 @@ func deleteCoreBootVolumeBackup(d *schema.ResourceData, m interface{}) error { + type CoreBootVolumeBackupResourceCrud struct { + tfresource.BaseCrud + Client *oci_core.BlockstorageClient ++ ConfigureClient client.ConfigureClient + SourceRegionClient *oci_core.BlockstorageClient + workRequestClient *oci_work_requests.WorkRequestClient + Res *oci_core.BootVolumeBackup +diff --git a/internal/service/core/core_volume_backup_resource.go b/internal/service/core/core_volume_backup_resource.go +index bdc12aea093d7df5585ec4ef7b0bfc3da2b91bea..4a995eaf837967955e8ddc35ed355258d5af49dc 100644 +--- a/internal/service/core/core_volume_backup_resource.go ++++ b/internal/service/core/core_volume_backup_resource.go +@@ -159,6 +159,7 @@ func createCoreVolumeBackup(d *schema.ResourceData, m interface{}) error { + sync := &CoreVolumeBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).BlockstorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + sync.workRequestClient = m.(*client.OracleClients).WorkRequestClient + + compartment, ok := sync.D.GetOkExists("compartment_id") +@@ -191,6 +192,7 @@ func readCoreVolumeBackup(d *schema.ResourceData, m interface{}) error { + sync := &CoreVolumeBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).BlockstorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + sync.workRequestClient = m.(*client.OracleClients).WorkRequestClient + + return tfresource.ReadResource(sync) +@@ -200,6 +202,7 @@ func updateCoreVolumeBackup(d *schema.ResourceData, m interface{}) error { + sync := &CoreVolumeBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).BlockstorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + sync.workRequestClient = m.(*client.OracleClients).WorkRequestClient + + return tfresource.UpdateResource(d, sync) +@@ -209,6 +212,7 @@ func deleteCoreVolumeBackup(d *schema.ResourceData, m interface{}) error { + sync := &CoreVolumeBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).BlockstorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + sync.workRequestClient = m.(*client.OracleClients).WorkRequestClient + sync.DisableNotFoundRetries = true + +@@ -218,6 +222,7 @@ func deleteCoreVolumeBackup(d *schema.ResourceData, m interface{}) error { + type CoreVolumeBackupResourceCrud struct { + tfresource.BaseCrud + Client *oci_core.BlockstorageClient ++ ConfigureClient client.ConfigureClient + SourceRegionClient *oci_core.BlockstorageClient + workRequestClient *oci_work_requests.WorkRequestClient + Res *oci_core.VolumeBackup +diff --git a/internal/service/core/core_volume_group_backup_resource.go b/internal/service/core/core_volume_group_backup_resource.go +index 793b4e7889bf779f2b1264475adf2526c5f70f5a..75dec2df322fe6f551951a66302e3f0a7c0ba6d8 100644 +--- a/internal/service/core/core_volume_group_backup_resource.go ++++ b/internal/service/core/core_volume_group_backup_resource.go +@@ -153,6 +153,7 @@ func createCoreVolumeGroupBackup(d *schema.ResourceData, m interface{}) error { + sync := &CoreVolumeGroupBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).BlockstorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + + // Issue logged with service team for `Create` not supporting non-default compartment_id + // Remove custom code after issue is fixed. +@@ -185,6 +186,7 @@ func readCoreVolumeGroupBackup(d *schema.ResourceData, m interface{}) error { + sync := &CoreVolumeGroupBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).BlockstorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + + return tfresource.ReadResource(sync) + } +@@ -193,6 +195,7 @@ func updateCoreVolumeGroupBackup(d *schema.ResourceData, m interface{}) error { + sync := &CoreVolumeGroupBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).BlockstorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + + return tfresource.UpdateResource(d, sync) + } +@@ -201,6 +204,7 @@ func deleteCoreVolumeGroupBackup(d *schema.ResourceData, m interface{}) error { + sync := &CoreVolumeGroupBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).BlockstorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + sync.DisableNotFoundRetries = true + + return tfresource.DeleteResource(d, sync) +@@ -210,6 +214,7 @@ type CoreVolumeGroupBackupResourceCrud struct { + tfresource.BaseCrud + SourceRegionClient *oci_core.BlockstorageClient + Client *oci_core.BlockstorageClient ++ ConfigureClient client.ConfigureClient + Res *oci_core.VolumeGroupBackup + DisableNotFoundRetries bool + } +diff --git a/internal/service/core/helpers_core.go b/internal/service/core/helpers_core.go +index 3b1716fc80b8539e145d3d8f3ee6c282f97eca7c..1a6b5867d779f50e369bc7457e21f0423291cf13 100644 +--- a/internal/service/core/helpers_core.go ++++ b/internal/service/core/helpers_core.go +@@ -14,7 +14,6 @@ import ( + + "github.com/hashicorp/go-cty/cty" + oci_common "github.com/oracle/oci-go-sdk/v65/common" +- tf_client "github.com/oracle/terraform-provider-oci/internal/client" + "github.com/oracle/terraform-provider-oci/internal/tfresource" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" +@@ -163,7 +162,7 @@ func (s *CoreVolumeBackupResourceCrud) createBlockStorageSourceRegionClient(regi + if err != nil { + return fmt.Errorf("cannot Create client for the source region: %v", err) + } +- err = tf_client.ConfigureClientVar(&sourceBlockStorageClient.BaseClient) ++ err = s.ConfigureClient(&sourceBlockStorageClient.BaseClient) + if err != nil { + return fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -180,7 +179,7 @@ func (s *CoreVolumeGroupBackupResourceCrud) createBlockStorageSourceRegionClient + if err != nil { + return fmt.Errorf("cannot Create client for the source region: %v", err) + } +- err = tf_client.ConfigureClientVar(&sourceBlockStorageClient.BaseClient) ++ err = s.ConfigureClient(&sourceBlockStorageClient.BaseClient) + if err != nil { + return fmt.Errorf("cannot configure client for the source region: %v", err) + } +@@ -197,7 +196,7 @@ func (s *CoreBootVolumeBackupResourceCrud) createBlockStorageSourceRegionClient( + if err != nil { + return fmt.Errorf("cannot Create client for the source region: %v", err) + } +- err = tf_client.ConfigureClientVar(&sourceBlockStorageClient.BaseClient) ++ err = s.ConfigureClient(&sourceBlockStorageClient.BaseClient) + if err != nil { + return fmt.Errorf("cannot configure client for the source region: %v", err) + } +diff --git a/internal/service/mysql/helpers_mysql.go b/internal/service/mysql/helpers_mysql.go +index bcc3f579e6d5894b7d426c58edc87db9f7a44724..5c70a2b080944db0210d72749c54fc170dd2db15 100644 +--- a/internal/service/mysql/helpers_mysql.go ++++ b/internal/service/mysql/helpers_mysql.go +@@ -4,22 +4,20 @@ import ( + "fmt" + + oci_mysql "github.com/oracle/oci-go-sdk/v65/mysql" +- tf_client "github.com/oracle/terraform-provider-oci/internal/client" + ) + +-func (s *MysqlMysqlBackupResourceCrud) createDbBackupClientInRegion(region string) error { ++func (s *MysqlMysqlBackupResourceCrud) createDbBackupClientInRegion(region string) (*oci_mysql.DbBackupsClient, error) { + if s.Client == nil { +- dbBackupClient, err := oci_mysql.NewDbBackupsClientWithConfigurationProvider(*s.Client.ConfigurationProvider()) +- if err != nil { +- return fmt.Errorf("cannot Create client for the region: %v", err) +- } +- err = tf_client.ConfigureClientVar(&dbBackupClient.BaseClient) +- if err != nil { +- return fmt.Errorf("cannot configure client for the region: %v", err) +- } +- s.Client = &dbBackupClient ++ return nil, fmt.Errorf("cannot create client for the region: primary MySQL backup client is nil") + } +- s.Client.SetRegion(region) + +- return nil ++ dbBackupClient, err := oci_mysql.NewDbBackupsClientWithConfigurationProvider(*s.Client.ConfigurationProvider()) ++ if err != nil { ++ return nil, fmt.Errorf("cannot create client for the region: %v", err) ++ } ++ if err := s.ConfigureClient(&dbBackupClient.BaseClient); err != nil { ++ return nil, fmt.Errorf("cannot configure client for the region: %v", err) ++ } ++ dbBackupClient.SetRegion(region) ++ return &dbBackupClient, nil + } +diff --git a/internal/service/mysql/helpers_mysql_nofork_test.go b/internal/service/mysql/helpers_mysql_nofork_test.go +new file mode 100644 +index 0000000000000000000000000000000000000000..f8914dfb1538e1c338f83595b501369aedf1163f +--- /dev/null ++++ b/internal/service/mysql/helpers_mysql_nofork_test.go +@@ -0,0 +1,88 @@ ++// Copyright (c) 2026, Oracle and/or its affiliates. All rights reserved. ++// Licensed under the Mozilla Public License v2.0 ++ ++package mysql ++ ++import ( ++ "crypto/rand" ++ "crypto/rsa" ++ "testing" ++ ++ oci_common "github.com/oracle/oci-go-sdk/v65/common" ++ oci_mysql "github.com/oracle/oci-go-sdk/v65/mysql" ++ tf_client "github.com/oracle/terraform-provider-oci/internal/client" ++) ++ ++func TestCreateDbBackupClientInRegionDoesNotMutatePrimaryClient(t *testing.T) { ++ privateKey, err := rsa.GenerateKey(rand.Reader, 1024) ++ if err != nil { ++ t.Fatalf("generate test private key: %v", err) ++ } ++ configProvider := mysqlEndpointTestConfiguration{privateKey: privateKey} ++ primary, err := oci_mysql.NewDbBackupsClientWithConfigurationProvider(configProvider) ++ if err != nil { ++ t.Fatalf("create primary MySQL backup client: %v", err) ++ } ++ primary.UserAgent = "primary-client" ++ primaryHost := primary.Host ++ ++ crud := &MysqlMysqlBackupResourceCrud{ ++ Client: &primary, ++ ConfigureClient: tf_client.ConfigureClient(func(client *oci_common.BaseClient) error { ++ client.UserAgent = "copy-client" ++ return nil ++ }), ++ } ++ copyClient, err := crud.createDbBackupClientInRegion("us-phoenix-1") ++ if err != nil { ++ t.Fatalf("create copy client: %v", err) ++ } ++ ++ if copyClient == crud.Client { ++ t.Fatal("copy operation reused the primary MySQL backup client") ++ } ++ if got := copyClient.UserAgent; got != "copy-client" { ++ t.Fatalf("copy client user agent = %q, want ProviderConfig callback value", got) ++ } ++ if got := crud.Client.UserAgent; got != "primary-client" { ++ t.Fatalf("primary client user agent changed to %q", got) ++ } ++ if got := crud.Client.Host; got != primaryHost { ++ t.Fatalf("primary client host changed from %q to %q", primaryHost, got) ++ } ++ if got := copyClient.Host; got == primaryHost { ++ t.Fatalf("copy client host = %q, want regional endpoint distinct from primary", got) ++ } ++} ++ ++type mysqlEndpointTestConfiguration struct { ++ privateKey *rsa.PrivateKey ++} ++ ++func (c mysqlEndpointTestConfiguration) PrivateRSAKey() (*rsa.PrivateKey, error) { ++ return c.privateKey, nil ++} ++ ++func (mysqlEndpointTestConfiguration) KeyID() (string, error) { ++ return "tenancy/user/fingerprint", nil ++} ++ ++func (mysqlEndpointTestConfiguration) TenancyOCID() (string, error) { ++ return "tenancy", nil ++} ++ ++func (mysqlEndpointTestConfiguration) UserOCID() (string, error) { ++ return "user", nil ++} ++ ++func (mysqlEndpointTestConfiguration) KeyFingerprint() (string, error) { ++ return "fingerprint", nil ++} ++ ++func (mysqlEndpointTestConfiguration) Region() (string, error) { ++ return "us-ashburn-1", nil ++} ++ ++func (mysqlEndpointTestConfiguration) AuthType() (oci_common.AuthConfig, error) { ++ return oci_common.AuthConfig{AuthType: oci_common.UserPrincipal}, nil ++} +diff --git a/internal/service/mysql/mysql_mysql_backup_resource.go b/internal/service/mysql/mysql_mysql_backup_resource.go +index c909d3a91072911e9adc3a801ee3a3e476cf01da..c19cfe12753bba57b431bce1a23c71f1d5983a88 100644 +--- a/internal/service/mysql/mysql_mysql_backup_resource.go ++++ b/internal/service/mysql/mysql_mysql_backup_resource.go +@@ -855,6 +855,7 @@ func createMysqlMysqlBackup(d *schema.ResourceData, m interface{}) error { + sync := &MysqlMysqlBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).DbBackupsClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + + return tfresource.CreateResource(d, sync) + } +@@ -863,6 +864,7 @@ func readMysqlMysqlBackup(d *schema.ResourceData, m interface{}) error { + sync := &MysqlMysqlBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).DbBackupsClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + + return tfresource.ReadResource(sync) + } +@@ -871,6 +873,7 @@ func updateMysqlMysqlBackup(d *schema.ResourceData, m interface{}) error { + sync := &MysqlMysqlBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).DbBackupsClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + + if _, ok := sync.D.GetOkExists("validate_trigger"); ok && sync.D.HasChange("validate_trigger") { + oldRaw, newRaw := sync.D.GetChange("validate_trigger") +@@ -899,6 +902,7 @@ func deleteMysqlMysqlBackup(d *schema.ResourceData, m interface{}) error { + sync := &MysqlMysqlBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).DbBackupsClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + sync.DisableNotFoundRetries = true + + return tfresource.DeleteResource(d, sync) +@@ -907,6 +911,7 @@ func deleteMysqlMysqlBackup(d *schema.ResourceData, m interface{}) error { + type MysqlMysqlBackupResourceCrud struct { + tfresource.BaseCrud + Client *oci_mysql.DbBackupsClient ++ ConfigureClient client.ConfigureClient + Res *oci_mysql.Backup + DisableNotFoundRetries bool + } +@@ -1080,12 +1085,12 @@ func (s *MysqlMysqlBackupResourceCrud) createMysqlBackupCopy() error { + } + } + +- err := s.createDbBackupClientInRegion(currentRegion) ++ copyClient, err := s.createDbBackupClientInRegion(currentRegion) + if err != nil { + return err + } + +- response, err := s.Client.CopyBackup(context.Background(), copyMysqlBackupRequest) ++ response, err := copyClient.CopyBackup(context.Background(), copyMysqlBackupRequest) + if err != nil { + return err + } +diff --git a/internal/service/objectstorage/helpers_objectstorage.go b/internal/service/objectstorage/helpers_objectstorage.go +index 69fd52ef8475320a121606bd439ce880be507b3a..439acb19d01df964b08e5a3a9cf7b862450599a8 100644 +--- a/internal/service/objectstorage/helpers_objectstorage.go ++++ b/internal/service/objectstorage/helpers_objectstorage.go +@@ -15,8 +15,6 @@ import ( + "sync" + "time" + +- tf_client "github.com/oracle/terraform-provider-oci/internal/client" +- + "github.com/oracle/terraform-provider-oci/internal/tfresource" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" +@@ -422,7 +420,7 @@ func (s *ObjectStorageObjectResourceCrud) createSourceRegionClient(region string + if err != nil { + return fmt.Errorf("cannot Create client for the source region: %v", err) + } +- err = tf_client.ConfigureClientVar(&sourceObjectStorageClient.BaseClient) ++ err = s.ConfigureClient(&sourceObjectStorageClient.BaseClient) + if err != nil { + return fmt.Errorf("cannot configure client for the source region: %v", err) + } +diff --git a/internal/service/objectstorage/objectstorage_object_resource.go b/internal/service/objectstorage/objectstorage_object_resource.go +index 4f03ebc8c8dd482defce00bf6f84dd7d4b610037..797f7896c0b2276cea527eaeda9d91e0481d4cfa 100644 +--- a/internal/service/objectstorage/objectstorage_object_resource.go ++++ b/internal/service/objectstorage/objectstorage_object_resource.go +@@ -246,6 +246,7 @@ func createObjectStorageObject(d *schema.ResourceData, m interface{}) error { + sync := &ObjectStorageObjectResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).ObjectStorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + + return tfresource.CreateResource(d, sync) + } +@@ -492,6 +493,7 @@ func readObjectStorageObject(d *schema.ResourceData, m interface{}) error { + } + sync.D = d + sync.Client = m.(*client.OracleClients).ObjectStorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + + return tfresource.ReadResource(sync) + } +@@ -500,6 +502,7 @@ func updateObjectStorageObject(d *schema.ResourceData, m interface{}) error { + sync := &ObjectStorageObjectResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).ObjectStorageClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + + return tfresource.UpdateResource(d, sync) + } +@@ -526,6 +529,7 @@ type ObjectStorageObject struct { + type ObjectStorageObjectResourceCrud struct { + tfresource.BaseCrud + Client *oci_object_storage.ObjectStorageClient ++ ConfigureClient client.ConfigureClient + SourceRegionClient *oci_object_storage.ObjectStorageClient + Res *ObjectStorageObject + DisableNotFoundRetries bool +diff --git a/internal/service/opensearch/opensearch_opensearch_cluster_resource.go b/internal/service/opensearch/opensearch_opensearch_cluster_resource.go +index 328179e5acec3e8d1bec6ae488908a27fb5324e0..91a0c491428dc265627da067e42a391d86a5f7f7 100644 +--- a/internal/service/opensearch/opensearch_opensearch_cluster_resource.go ++++ b/internal/service/opensearch/opensearch_opensearch_cluster_resource.go +@@ -677,6 +677,7 @@ type OpensearchOpensearchClusterResourceCrud struct { + Client *oci_opensearch.OpensearchClusterClient + Res *oci_opensearch.OpensearchCluster + DisableNotFoundRetries bool ++ RetryPolicyOptionals []interface{} + } + + func (s *OpensearchOpensearchClusterResourceCrud) ID() string { +@@ -1183,7 +1184,7 @@ func (s *OpensearchOpensearchClusterResourceCrud) Get() error { + tmp := s.D.Id() + request.OpensearchClusterId = &tmp + +- request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "opensearch") ++ request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "opensearch", s.RetryPolicyOptionals...) + + response, err := s.Client.GetOpensearchCluster(context.Background(), request) + if err != nil { +@@ -1812,7 +1813,11 @@ func (s *OpensearchOpensearchClusterResourceCrud) UpgradeOpenSearchCluster() err + return s.getOpensearchClusterFromWorkRequest(workId, tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "opensearch"), oci_opensearch.ActionTypeUpdated, s.D.Timeout(schema.TimeoutUpdate)) + } + func (s *OpensearchOpensearchClusterResourceCrud) ResizeOpensearchClusterHorizontal() error { +- tfresource.ShortRetryTime = tfresource.LongRetryTime * 5 ++ s.RetryPolicyOptionals = []interface{}{tfresource.GetShortRetryDurationFunction(tfresource.LongRetryTime * 5)} ++ defer func() { ++ s.RetryPolicyOptionals = nil ++ }() ++ + request := oci_opensearch.ResizeOpensearchClusterHorizontalRequest{} + + if coordinatorNodeCount, ok := s.D.GetOkExists("coordinator_node_count"); ok { +@@ -1848,7 +1853,7 @@ func (s *OpensearchOpensearchClusterResourceCrud) ResizeOpensearchClusterHorizon + request.SearchNodeCount = &tmp + } + +- request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "opensearch") ++ request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "opensearch", s.RetryPolicyOptionals...) + + response, err := s.Client.ResizeOpensearchClusterHorizontal(context.Background(), request) + if err != nil { +@@ -1860,7 +1865,11 @@ func (s *OpensearchOpensearchClusterResourceCrud) ResizeOpensearchClusterHorizon + } + + func (s *OpensearchOpensearchClusterResourceCrud) ResizeOpensearchClusterVertical() error { +- tfresource.ShortRetryTime = tfresource.LongRetryTime * 5 ++ s.RetryPolicyOptionals = []interface{}{tfresource.GetShortRetryDurationFunction(tfresource.LongRetryTime * 5)} ++ defer func() { ++ s.RetryPolicyOptionals = nil ++ }() ++ + request := oci_opensearch.ResizeOpensearchClusterVerticalRequest{} + + if coordinatorNodeHostMemoryGB, ok := s.D.GetOkExists("coordinator_node_host_memory_gb"); ok { +@@ -1971,7 +1980,7 @@ func (s *OpensearchOpensearchClusterResourceCrud) ResizeOpensearchClusterVertica + request.SearchNodeStorageGB = &tmp + } + +- request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "opensearch") ++ request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "opensearch", s.RetryPolicyOptionals...) + + response, err := s.Client.ResizeOpensearchClusterVertical(context.Background(), request) + if err != nil { +diff --git a/internal/service/psql/helpers_psql.go b/internal/service/psql/helpers_psql.go +index 12adc53de279dd91d60ddd6ebace5178a9584eb3..f102392cf908060bcec955f2572c8f5b4294449b 100644 +--- a/internal/service/psql/helpers_psql.go ++++ b/internal/service/psql/helpers_psql.go +@@ -4,7 +4,6 @@ import ( + "fmt" + + oci_psql "github.com/oracle/oci-go-sdk/v65/psql" +- tf_client "github.com/oracle/terraform-provider-oci/internal/client" + ) + + func (s *PsqlBackupResourceCrud) createPsqlSourceRegionClient(region string) error { +@@ -13,7 +12,7 @@ func (s *PsqlBackupResourceCrud) createPsqlSourceRegionClient(region string) err + if err != nil { + return fmt.Errorf("cannot Create client for the source region: %v", err) + } +- err = tf_client.ConfigureClientVar(&sourcePsqlClient.BaseClient) ++ err = s.ConfigureClient(&sourcePsqlClient.BaseClient) + if err != nil { + return fmt.Errorf("cannot configure client for the source region: %v", err) + } +diff --git a/internal/service/psql/psql_backup_resource.go b/internal/service/psql/psql_backup_resource.go +index afebdbdf0a1a6a13b11dae16946dd1f2dd9d2d47..8cb9b2c74a3e2daf307a830db5c2b66bc08d9cb4 100644 +--- a/internal/service/psql/psql_backup_resource.go ++++ b/internal/service/psql/psql_backup_resource.go +@@ -199,6 +199,7 @@ func createPsqlBackupWithContext(ctx context.Context, d *schema.ResourceData, m + sync := &PsqlBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).PostgresqlClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + + return tfresource.HandleDiagError(m, tfresource.CreateResourceWithContext(ctx, d, sync)) + } +@@ -207,6 +208,7 @@ func readPsqlBackupWithContext(ctx context.Context, d *schema.ResourceData, m in + sync := &PsqlBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).PostgresqlClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + + return tfresource.HandleDiagError(m, tfresource.ReadResourceWithContext(ctx, sync)) + } +@@ -215,6 +217,7 @@ func updatePsqlBackupWithContext(ctx context.Context, d *schema.ResourceData, m + sync := &PsqlBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).PostgresqlClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + + return tfresource.HandleDiagError(m, tfresource.UpdateResourceWithContext(ctx, d, sync)) + } +@@ -223,6 +226,7 @@ func deletePsqlBackupWithContext(ctx context.Context, d *schema.ResourceData, m + sync := &PsqlBackupResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).PostgresqlClient() ++ sync.ConfigureClient = m.(*client.OracleClients).ConfigureClient + sync.DisableNotFoundRetries = true + + return tfresource.HandleDiagError(m, tfresource.DeleteResourceWithContext(ctx, d, sync)) +@@ -231,6 +235,7 @@ func deletePsqlBackupWithContext(ctx context.Context, d *schema.ResourceData, m + type PsqlBackupResourceCrud struct { + tfresource.BaseCrud + Client *oci_psql.PostgresqlClient ++ ConfigureClient client.ConfigureClient + SourceRegionClient *oci_psql.PostgresqlClient + Res *oci_psql.Backup + DisableNotFoundRetries bool +diff --git a/internal/tfresource/register_helpers.go b/internal/tfresource/register_helpers.go +index 10bd90623172b938fb7e4e5fdb2d3784b34c7916..c3f9a8e50a52c2591ce98dc49be632cb68d55455 100644 +--- a/internal/tfresource/register_helpers.go ++++ b/internal/tfresource/register_helpers.go +@@ -1,13 +1,24 @@ + package tfresource + + import ( ++ "fmt" ++ "sync" ++ + "github.com/hashicorp/terraform-plugin-framework/datasource" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/oracle/terraform-provider-oci/internal/globalvar" + ) + ++var registrationState struct { ++ sync.Mutex ++ frozen bool ++} ++ + func RegisterResource(name string, resourceSchema *schema.Resource) { ++ registrationState.Lock() ++ defer registrationState.Unlock() ++ panicIfRegistrationsFrozen(name) + if globalvar.OciResources == nil { + globalvar.OciResources = make(map[string]*schema.Resource) + } +@@ -15,6 +26,9 @@ func RegisterResource(name string, resourceSchema *schema.Resource) { + } + + func RegisterDatasource(name string, datasourceSchema *schema.Resource) { ++ registrationState.Lock() ++ defer registrationState.Unlock() ++ panicIfRegistrationsFrozen(name) + if globalvar.OciDatasources == nil { + globalvar.OciDatasources = make(map[string]*schema.Resource) + } +@@ -22,6 +36,9 @@ func RegisterDatasource(name string, datasourceSchema *schema.Resource) { + } + + func RegisterFrameworkDatasource(ds func() datasource.DataSource) { ++ registrationState.Lock() ++ defer registrationState.Unlock() ++ panicIfRegistrationsFrozen("Framework datasource") + if globalvar.OciFrameworkDataSources == nil { + globalvar.OciFrameworkDataSources = make([]func() datasource.DataSource, 0) + } +@@ -29,8 +46,23 @@ func RegisterFrameworkDatasource(ds func() datasource.DataSource) { + } + + func RegisterFrameworkResource(ds func() resource.Resource) { ++ registrationState.Lock() ++ defer registrationState.Unlock() ++ panicIfRegistrationsFrozen("Framework resource") + if globalvar.OciFrameworkResources == nil { + globalvar.OciFrameworkResources = make([]func() resource.Resource, 0) + } + globalvar.OciFrameworkResources = append(globalvar.OciFrameworkResources, ds) + } ++ ++func FreezeRegistrations() { ++ registrationState.Lock() ++ defer registrationState.Unlock() ++ registrationState.frozen = true ++} ++ ++func panicIfRegistrationsFrozen(name string) { ++ if registrationState.frozen { ++ panic(fmt.Sprintf("cannot register %q after OCI provider registration is frozen", name)) ++ } ++} +diff --git a/internal/tfresource/retry.go b/internal/tfresource/retry.go +index 164ee6dfe4f1fff7bd9a3082041b35e704a2e01b..873f9182fbb9508dc7e47e30e2992a7f58993be1 100644 +--- a/internal/tfresource/retry.go ++++ b/internal/tfresource/retry.go +@@ -285,7 +285,11 @@ func GetRetryMaxDurationConfigured(statusCode int) (time.Duration, bool) { + } + + func GetDefaultExpectedRetryDuration(response oci_common.OCIOperationResponse, disableNotFoundRetries bool) time.Duration { +- defaultRetryTime := ShortRetryTime ++ return getDefaultExpectedRetryDuration(response, disableNotFoundRetries, ShortRetryTime, LongRetryTime, ConfiguredRetryDuration) ++} ++ ++func getDefaultExpectedRetryDuration(response oci_common.OCIOperationResponse, disableNotFoundRetries bool, shortRetryTime, longRetryTime time.Duration, configuredRetryDuration *time.Duration) time.Duration { ++ defaultRetryTime := shortRetryTime + + if IsNetworkError(response.Error) { + log.Printf("[DEBUG] Retrying for network error...") +@@ -329,10 +333,10 @@ func GetDefaultExpectedRetryDuration(response oci_common.OCIOperationResponse, d + if ok { + return value + } +- if ConfiguredRetryDuration != nil { +- return *ConfiguredRetryDuration ++ if configuredRetryDuration != nil { ++ return *configuredRetryDuration + } +- defaultRetryTime = LongRetryTime ++ defaultRetryTime = longRetryTime + case 500: + if e != nil && (strings.Contains(e.Error(), "Out of host capacity")) { + return 0 +@@ -341,8 +345,8 @@ func GetDefaultExpectedRetryDuration(response oci_common.OCIOperationResponse, d + if ok { + return value + } +- if ConfiguredRetryDuration != nil { +- return *ConfiguredRetryDuration ++ if configuredRetryDuration != nil { ++ return *configuredRetryDuration + } + } + +@@ -354,6 +358,12 @@ func GetDefaultExpectedRetryDuration(response oci_common.OCIOperationResponse, d + return defaultRetryTime + } + ++func GetShortRetryDurationFunction(shortRetryTime time.Duration) expectedRetryDurationFn { ++ return func(response oci_common.OCIOperationResponse, disableNotFoundRetries bool, service string, optionals ...interface{}) time.Duration { ++ return getDefaultExpectedRetryDuration(response, disableNotFoundRetries, shortRetryTime, LongRetryTime, ConfiguredRetryDuration) ++ } ++} ++ + func isRetriableByEc(r oci_common.OCIOperationResponse) (bool, *time.Duration) { + if _, ok := isServiceErrorVar(r.Error); ok { + now := time.Now() +diff --git a/oci/provider.go b/oci/provider.go +new file mode 100644 +index 0000000000000000000000000000000000000000..4286611739ee5d9bbf559f0e75cd546d08ebf10d +--- /dev/null ++++ b/oci/provider.go +@@ -0,0 +1,20 @@ ++// Copyright (c) 2024, Oracle and/or its affiliates. ++// Licensed under the Mozilla Public License Version 2.0 ++ ++package oci ++ ++import ( ++ fwprovider "github.com/hashicorp/terraform-plugin-framework/provider" ++ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" ++ internalprovider "github.com/oracle/terraform-provider-oci/internal/provider" ++) ++ ++// Provider returns a fresh SDKv2 provider instance. ++func Provider() *schema.Provider { ++ return internalprovider.Provider() ++} ++ ++// New returns a fresh Plugin Framework provider instance. ++func New() fwprovider.Provider { ++ return internalprovider.New() ++} diff --git a/cluster/images/provider-oci/Dockerfile b/cluster/images/provider-oci/Dockerfile index d62d4859a..4a25a78c9 100644 --- a/cluster/images/provider-oci/Dockerfile +++ b/cluster/images/provider-oci/Dockerfile @@ -1,50 +1,15 @@ FROM ghcr.io/oracle/oraclelinux:9-slim -RUN microdnf -y install ca-certificates bash unzip \ +RUN microdnf -y install ca-certificates bash \ && microdnf clean all ARG TARGETOS ARG TARGETARCH +ARG USER_AGENT_PROVIDER_NAME ADD "bin/${TARGETOS}_${TARGETARCH}/provider" /usr/local/bin/provider ENV USER_ID=65532 - -# Setup Terraform environment - -## Provider-dependent configuration -ARG TERRAFORM_VERSION -ARG TERRAFORM_PROVIDER_SOURCE -ARG TERRAFORM_PROVIDER_VERSION -ARG TERRAFORM_PROVIDER_DOWNLOAD_NAME -ARG TERRAFORM_NATIVE_PROVIDER_BINARY -ARG USER_AGENT_PROVIDER_NAME -## End of - Provider-dependent configuration - -ENV PLUGIN_DIR /terraform/provider-mirror/registry.terraform.io/${TERRAFORM_PROVIDER_SOURCE}/${TERRAFORM_PROVIDER_VERSION}/${TARGETOS}_${TARGETARCH} -ENV TF_CLI_CONFIG_FILE /terraform/.terraformrc -ENV TF_FORK 0 -ENV USER_AGENT_PROVIDER_NAME "${USER_AGENT_PROVIDER_NAME}" - -RUN mkdir -p ${PLUGIN_DIR} - -ADD https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_${TARGETOS}_${TARGETARCH}.zip /tmp -ADD https://releases.hashicorp.com/${TERRAFORM_PROVIDER_DOWNLOAD_NAME}/${TERRAFORM_PROVIDER_VERSION}/${TERRAFORM_PROVIDER_DOWNLOAD_NAME}_${TERRAFORM_PROVIDER_VERSION}_${TARGETOS}_${TARGETARCH}.zip /tmp -ADD terraformrc.hcl ${TF_CLI_CONFIG_FILE} - -RUN unzip /tmp/terraform_${TERRAFORM_VERSION}_${TARGETOS}_${TARGETARCH}.zip -d /usr/local/bin \ - && chmod +x /usr/local/bin/terraform \ - && rm /tmp/terraform_${TERRAFORM_VERSION}_${TARGETOS}_${TARGETARCH}.zip \ - && unzip /tmp/${TERRAFORM_PROVIDER_DOWNLOAD_NAME}_${TERRAFORM_PROVIDER_VERSION}_${TARGETOS}_${TARGETARCH}.zip -d ${PLUGIN_DIR} \ - && chmod +x ${PLUGIN_DIR}/* \ - && rm /tmp/${TERRAFORM_PROVIDER_DOWNLOAD_NAME}_${TERRAFORM_PROVIDER_VERSION}_${TARGETOS}_${TARGETARCH}.zip \ - && chown -R ${USER_ID}:${USER_ID} /terraform -# End of - Setup Terraform environment - -# Provider controller needs these environment variable at runtime -ENV TERRAFORM_VERSION ${TERRAFORM_VERSION} -ENV TERRAFORM_PROVIDER_SOURCE ${TERRAFORM_PROVIDER_SOURCE} -ENV TERRAFORM_PROVIDER_VERSION ${TERRAFORM_PROVIDER_VERSION} -ENV TERRAFORM_NATIVE_PROVIDER_PATH ${PLUGIN_DIR}/${TERRAFORM_NATIVE_PROVIDER_BINARY} +ENV USER_AGENT_PROVIDER_NAME="${USER_AGENT_PROVIDER_NAME}" USER ${USER_ID} EXPOSE 8080 diff --git a/cluster/images/provider-oci/Makefile b/cluster/images/provider-oci/Makefile index 389bd724f..d02df9487 100755 --- a/cluster/images/provider-oci/Makefile +++ b/cluster/images/provider-oci/Makefile @@ -23,15 +23,9 @@ img.publish: img.build.shared: @cp Dockerfile $(IMAGE_TEMP_DIR) || $(FAIL) - @cp terraformrc.hcl $(IMAGE_TEMP_DIR) || $(FAIL) @cp -r $(OUTPUT_DIR)/bin/ $(IMAGE_TEMP_DIR)/bin || $(FAIL) @docker buildx build $(BUILD_ARGS) \ --platform $(IMAGE_PLATFORMS) \ - --build-arg TERRAFORM_VERSION=$(TERRAFORM_VERSION) \ - --build-arg TERRAFORM_PROVIDER_SOURCE=$(TERRAFORM_PROVIDER_SOURCE) \ - --build-arg TERRAFORM_PROVIDER_VERSION=$(TERRAFORM_PROVIDER_VERSION) \ - --build-arg TERRAFORM_PROVIDER_DOWNLOAD_NAME=$(TERRAFORM_PROVIDER_DOWNLOAD_NAME) \ - --build-arg TERRAFORM_NATIVE_PROVIDER_BINARY=$(TERRAFORM_NATIVE_PROVIDER_BINARY) \ --build-arg USER_AGENT_PROVIDER_NAME='$(USER_AGENT_PROVIDER_NAME)' \ -t $(IMAGE) \ $(IMAGE_TEMP_DIR) || $(FAIL) diff --git a/cluster/images/provider-oci/terraformrc.hcl b/cluster/images/provider-oci/terraformrc.hcl deleted file mode 100644 index 022203c4d..000000000 --- a/cluster/images/provider-oci/terraformrc.hcl +++ /dev/null @@ -1,9 +0,0 @@ -provider_installation { - filesystem_mirror { - path = "/terraform/provider-mirror" - include = ["*/*"] - } - direct { - exclude = ["*/*"] - } -} diff --git a/cmd/generator/main.go b/cmd/generator/main.go index fa9f8c058..d13a448f3 100644 --- a/cmd/generator/main.go +++ b/cmd/generator/main.go @@ -23,5 +23,5 @@ func main() { if err != nil { panic(fmt.Sprintf("cannot calculate the absolute path with %s", rootDir)) } - pipeline.Run(config.GetProvider(), config.GetProviderNamespaced(), absRootDir) + pipeline.Run(config.GetProviderForGeneration(), config.GetProviderNamespacedForGeneration(), absRootDir) } diff --git a/cmd/noforkpatcher/main.go b/cmd/noforkpatcher/main.go new file mode 100644 index 000000000..7a58f6092 --- /dev/null +++ b/cmd/noforkpatcher/main.go @@ -0,0 +1,93 @@ +package main + +import ( + "context" + "flag" + "fmt" + "os" + + "github.com/oracle/provider-oci/internal/noforkpatch" +) + +func main() { + if err := run(os.Args[1:]); err != nil { + fmt.Fprintf(os.Stderr, "noforkpatcher: %v\n", err) + os.Exit(1) + } +} + +func run(args []string) error { + if len(args) == 0 { + usage() + return fmt.Errorf("missing command") + } + root, err := os.Getwd() + if err != nil { + return err + } + switch args[0] { + case "apply": + opts, err := parseOptions(root, "apply", args[1:]) + if err != nil { + return err + } + return noforkpatch.Apply(context.Background(), opts) + case "validate": + opts, err := parseOptions(root, "validate", args[1:]) + if err != nil { + return err + } + return noforkpatch.Validate(context.Background(), opts) + case "clean": + opts, err := parseOptions(root, "clean", args[1:]) + if err != nil { + return err + } + return noforkpatch.Clean(opts) + case "-h", "--help", "help": + usage() + return nil + default: + usage() + return fmt.Errorf("unknown command %q", args[0]) + } +} + +func parseOptions(root, command string, args []string) (noforkpatch.Options, error) { + opts := noforkpatch.DefaultOptions(root) + fs := flag.NewFlagSet(command, flag.ContinueOnError) + fs.SetOutput(os.Stderr) + fs.StringVar(&opts.RootDir, "root-dir", opts.RootDir, "repository root directory") + fs.StringVar(&opts.ProviderVersion, "provider-version", opts.ProviderVersion, "terraform-provider-oci version without leading v") + fs.StringVar(&opts.ProviderDir, "provider-dir", opts.ProviderDir, "workspace-local patched terraform-provider-oci clone directory") + fs.StringVar(&opts.StateDir, "state-dir", opts.StateDir, "directory used to back up go.mod and go.sum") + fs.StringVar(&opts.PatchFile, "patch-file", opts.PatchFile, "patch file to apply to terraform-provider-oci") + fs.StringVar(&opts.RepoURL, "repo-url", opts.RepoURL, "terraform-provider-oci git repository URL") + fs.StringVar(&opts.ModulePath, "module-path", opts.ModulePath, "terraform-provider-oci Go module path") + fs.StringVar(&opts.GoCache, "gocache", opts.GoCache, "GOCACHE used while tidying patched dependency graph") + fs.StringVar(&opts.GoModCache, "gomodcache", opts.GoModCache, "GOMODCACHE used while tidying patched dependency graph") + fs.StringVar(&opts.GoPath, "gopath", opts.GoPath, "GOPATH used while tidying patched dependency graph") + if err := fs.Parse(args); err != nil { + return noforkpatch.Options{}, err + } + opts.Stdout = os.Stdout + opts.Stderr = os.Stderr + return opts, nil +} + +func usage() { + fmt.Fprintln(os.Stderr, `Usage: + go run ./cmd/noforkpatcher apply [flags] + go run ./cmd/noforkpatcher validate [flags] + go run ./cmd/noforkpatcher clean [flags] + +Common flags: + --provider-version Terraform OCI provider version, e.g. 8.12.0 + --provider-dir Patched provider clone directory + --state-dir Backup directory for go.mod and go.sum + --patch-file Patch file to apply + --repo-url Terraform provider OCI repository URL + --gocache Build cache used by go mod tidy + --gomodcache Module cache used by go mod tidy + --gopath GOPATH used by go mod tidy`) +} diff --git a/cmd/provider/adm/zz_main.go b/cmd/provider/adm/zz_main.go index 76694340e..a09664220 100644 --- a/cmd/provider/adm/zz_main.go +++ b/cmd/provider/adm/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - adm Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-adm", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/aidataplatform/zz_main.go b/cmd/provider/aidataplatform/zz_main.go index 221f17578..b8f01ea0b 100644 --- a/cmd/provider/aidataplatform/zz_main.go +++ b/cmd/provider/aidataplatform/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - aidataplatform Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-aidataplatform", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/aidocument/zz_main.go b/cmd/provider/aidocument/zz_main.go index 8d7a89b2d..31b55b767 100644 --- a/cmd/provider/aidocument/zz_main.go +++ b/cmd/provider/aidocument/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - aidocument Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-aidocument", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/ailanguage/zz_main.go b/cmd/provider/ailanguage/zz_main.go index bf1b8e05f..1651ae2d0 100644 --- a/cmd/provider/ailanguage/zz_main.go +++ b/cmd/provider/ailanguage/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - ailanguage Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-ailanguage", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/aivision/zz_main.go b/cmd/provider/aivision/zz_main.go index ef1557c58..a445da784 100644 --- a/cmd/provider/aivision/zz_main.go +++ b/cmd/provider/aivision/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - aivision Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-aivision", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/analytics/zz_main.go b/cmd/provider/analytics/zz_main.go index ba3777d67..c187bc6c8 100644 --- a/cmd/provider/analytics/zz_main.go +++ b/cmd/provider/analytics/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - analytics Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-analytics", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/announcementsservice/zz_main.go b/cmd/provider/announcementsservice/zz_main.go index 3530d6a72..fd9554365 100644 --- a/cmd/provider/announcementsservice/zz_main.go +++ b/cmd/provider/announcementsservice/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - announcementsservice Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-announcementsservice", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/apiaccesscontrol/zz_main.go b/cmd/provider/apiaccesscontrol/zz_main.go index 6a65a226c..e11df91e0 100644 --- a/cmd/provider/apiaccesscontrol/zz_main.go +++ b/cmd/provider/apiaccesscontrol/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - apiaccesscontrol Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-apiaccesscontrol", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/apigateway/zz_main.go b/cmd/provider/apigateway/zz_main.go index 267fb4951..c0d2f968b 100644 --- a/cmd/provider/apigateway/zz_main.go +++ b/cmd/provider/apigateway/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - apigateway Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-apigateway", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/apiplatform/zz_main.go b/cmd/provider/apiplatform/zz_main.go index 100a2a693..afbbf458f 100644 --- a/cmd/provider/apiplatform/zz_main.go +++ b/cmd/provider/apiplatform/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - apiplatform Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-apiplatform", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/apm/zz_main.go b/cmd/provider/apm/zz_main.go index b05f192a4..90434e7e6 100644 --- a/cmd/provider/apm/zz_main.go +++ b/cmd/provider/apm/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - apm Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-apm", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/apmconfig/zz_main.go b/cmd/provider/apmconfig/zz_main.go index 35e99b578..dbb367047 100644 --- a/cmd/provider/apmconfig/zz_main.go +++ b/cmd/provider/apmconfig/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - apmconfig Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-apmconfig", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/apmsynthetics/zz_main.go b/cmd/provider/apmsynthetics/zz_main.go index 7ed57b906..b9e0bd9f9 100644 --- a/cmd/provider/apmsynthetics/zz_main.go +++ b/cmd/provider/apmsynthetics/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - apmsynthetics Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-apmsynthetics", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/apmtraces/zz_main.go b/cmd/provider/apmtraces/zz_main.go index d9fad8082..5a61df8e2 100644 --- a/cmd/provider/apmtraces/zz_main.go +++ b/cmd/provider/apmtraces/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - apmtraces Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-apmtraces", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/appmgmt/zz_main.go b/cmd/provider/appmgmt/zz_main.go index e4f6a8927..084ef2ddf 100644 --- a/cmd/provider/appmgmt/zz_main.go +++ b/cmd/provider/appmgmt/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - appmgmt Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-appmgmt", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/artifacts/zz_main.go b/cmd/provider/artifacts/zz_main.go index 15376989b..680b85219 100644 --- a/cmd/provider/artifacts/zz_main.go +++ b/cmd/provider/artifacts/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - artifacts Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-artifacts", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/audit/zz_main.go b/cmd/provider/audit/zz_main.go index 21e06845a..be4827cf1 100644 --- a/cmd/provider/audit/zz_main.go +++ b/cmd/provider/audit/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - audit Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-audit", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/autoscaling/zz_main.go b/cmd/provider/autoscaling/zz_main.go index 0da362cb2..7208c0200 100644 --- a/cmd/provider/autoscaling/zz_main.go +++ b/cmd/provider/autoscaling/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - autoscaling Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-autoscaling", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/bastion/zz_main.go b/cmd/provider/bastion/zz_main.go index 36f84be76..943a05e88 100644 --- a/cmd/provider/bastion/zz_main.go +++ b/cmd/provider/bastion/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - bastion Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-bastion", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/batch/zz_main.go b/cmd/provider/batch/zz_main.go index 425305622..defe2df0f 100644 --- a/cmd/provider/batch/zz_main.go +++ b/cmd/provider/batch/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - batch Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-batch", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/bds/zz_main.go b/cmd/provider/bds/zz_main.go index b0844b63d..ce7fe57d3 100644 --- a/cmd/provider/bds/zz_main.go +++ b/cmd/provider/bds/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - bds Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-bds", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/blockchain/zz_main.go b/cmd/provider/blockchain/zz_main.go index deaefff1e..e9b06f846 100644 --- a/cmd/provider/blockchain/zz_main.go +++ b/cmd/provider/blockchain/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - blockchain Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-blockchain", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/blockstorage/zz_main.go b/cmd/provider/blockstorage/zz_main.go index 1f8804e5e..02ab7ea95 100644 --- a/cmd/provider/blockstorage/zz_main.go +++ b/cmd/provider/blockstorage/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - blockstorage Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-blockstorage", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/budget/zz_main.go b/cmd/provider/budget/zz_main.go index cc73c6eb3..7c886df7f 100644 --- a/cmd/provider/budget/zz_main.go +++ b/cmd/provider/budget/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - budget Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-budget", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/capacitymanagement/zz_main.go b/cmd/provider/capacitymanagement/zz_main.go index f5ec227ba..5e3c2c9a0 100644 --- a/cmd/provider/capacitymanagement/zz_main.go +++ b/cmd/provider/capacitymanagement/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - capacitymanagement Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-capacitymanagement", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/certificatesmanagement/zz_main.go b/cmd/provider/certificatesmanagement/zz_main.go index e372b314e..6ec1ae531 100644 --- a/cmd/provider/certificatesmanagement/zz_main.go +++ b/cmd/provider/certificatesmanagement/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - certificatesmanagement Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-certificatesmanagement", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/cloudbridge/zz_main.go b/cmd/provider/cloudbridge/zz_main.go index a5efaf7e5..81c4b175c 100644 --- a/cmd/provider/cloudbridge/zz_main.go +++ b/cmd/provider/cloudbridge/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - cloudbridge Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-cloudbridge", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/cloudguard/zz_main.go b/cmd/provider/cloudguard/zz_main.go index df40cc42c..b9ab2f6c8 100644 --- a/cmd/provider/cloudguard/zz_main.go +++ b/cmd/provider/cloudguard/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - cloudguard Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-cloudguard", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/cloudmigrations/zz_main.go b/cmd/provider/cloudmigrations/zz_main.go index f2cfb5fb3..70afc18d3 100644 --- a/cmd/provider/cloudmigrations/zz_main.go +++ b/cmd/provider/cloudmigrations/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - cloudmigrations Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-cloudmigrations", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/clusterplacementgroups/zz_main.go b/cmd/provider/clusterplacementgroups/zz_main.go index 59dc0b5cb..f4d2700f4 100644 --- a/cmd/provider/clusterplacementgroups/zz_main.go +++ b/cmd/provider/clusterplacementgroups/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - clusterplacementgroups Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-clusterplacementgroups", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/compute/zz_main.go b/cmd/provider/compute/zz_main.go index a1451783f..7794b77c0 100644 --- a/cmd/provider/compute/zz_main.go +++ b/cmd/provider/compute/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - compute Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-compute", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/computecloudatcustomer/zz_main.go b/cmd/provider/computecloudatcustomer/zz_main.go index d3f3c3a8f..128e3362b 100644 --- a/cmd/provider/computecloudatcustomer/zz_main.go +++ b/cmd/provider/computecloudatcustomer/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - computecloudatcustomer Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-computecloudatcustomer", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/config/zz_main.go b/cmd/provider/config/zz_main.go index 54c9954b9..9b8c6ace5 100644 --- a/cmd/provider/config/zz_main.go +++ b/cmd/provider/config/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - config Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-config", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/containerengine/zz_main.go b/cmd/provider/containerengine/zz_main.go index e84496d64..bbc048714 100644 --- a/cmd/provider/containerengine/zz_main.go +++ b/cmd/provider/containerengine/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - containerengine Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-containerengine", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/containerinstances/zz_main.go b/cmd/provider/containerinstances/zz_main.go index 60e5751e8..e5d3a80eb 100644 --- a/cmd/provider/containerinstances/zz_main.go +++ b/cmd/provider/containerinstances/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - containerinstances Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-containerinstances", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/core/zz_main.go b/cmd/provider/core/zz_main.go index 459da4561..a87c663ce 100644 --- a/cmd/provider/core/zz_main.go +++ b/cmd/provider/core/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - core Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-core", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/costad/zz_main.go b/cmd/provider/costad/zz_main.go index 2024eca40..937ebeda3 100644 --- a/cmd/provider/costad/zz_main.go +++ b/cmd/provider/costad/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - costad Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-costad", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/database/zz_main.go b/cmd/provider/database/zz_main.go index c31c69dfe..4b2f6169e 100644 --- a/cmd/provider/database/zz_main.go +++ b/cmd/provider/database/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - database Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-database", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/datacatalog/zz_main.go b/cmd/provider/datacatalog/zz_main.go index 94413a37c..50f8dbd93 100644 --- a/cmd/provider/datacatalog/zz_main.go +++ b/cmd/provider/datacatalog/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - datacatalog Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-datacatalog", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/dataflow/zz_main.go b/cmd/provider/dataflow/zz_main.go index b6887ca75..1a218d6ea 100644 --- a/cmd/provider/dataflow/zz_main.go +++ b/cmd/provider/dataflow/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - dataflow Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-dataflow", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/dataintegration/zz_main.go b/cmd/provider/dataintegration/zz_main.go index 9493be8e4..416959fa9 100644 --- a/cmd/provider/dataintegration/zz_main.go +++ b/cmd/provider/dataintegration/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - dataintegration Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-dataintegration", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/datalabelingservice/zz_main.go b/cmd/provider/datalabelingservice/zz_main.go index 52b8eff60..904859b82 100644 --- a/cmd/provider/datalabelingservice/zz_main.go +++ b/cmd/provider/datalabelingservice/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - datalabelingservice Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-datalabelingservice", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/datasafe/zz_main.go b/cmd/provider/datasafe/zz_main.go index 40c6bfdc8..68e69bfe1 100644 --- a/cmd/provider/datasafe/zz_main.go +++ b/cmd/provider/datasafe/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - datasafe Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-datasafe", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/datascience/zz_main.go b/cmd/provider/datascience/zz_main.go index 851401f0b..decca9082 100644 --- a/cmd/provider/datascience/zz_main.go +++ b/cmd/provider/datascience/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - datascience Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-datascience", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/dblm/zz_main.go b/cmd/provider/dblm/zz_main.go index 8793ebdea..07b689992 100644 --- a/cmd/provider/dblm/zz_main.go +++ b/cmd/provider/dblm/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - dblm Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-dblm", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/dbmulticloud/zz_main.go b/cmd/provider/dbmulticloud/zz_main.go index c0dd81e5a..cc42ead16 100644 --- a/cmd/provider/dbmulticloud/zz_main.go +++ b/cmd/provider/dbmulticloud/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - dbmulticloud Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-dbmulticloud", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/delegateaccesscontrol/zz_main.go b/cmd/provider/delegateaccesscontrol/zz_main.go index 30102fd84..2a1e85300 100644 --- a/cmd/provider/delegateaccesscontrol/zz_main.go +++ b/cmd/provider/delegateaccesscontrol/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - delegateaccesscontrol Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-delegateaccesscontrol", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/demandsignal/zz_main.go b/cmd/provider/demandsignal/zz_main.go index b9ea375a9..6e9643f6e 100644 --- a/cmd/provider/demandsignal/zz_main.go +++ b/cmd/provider/demandsignal/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - demandsignal Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-demandsignal", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/desktops/zz_main.go b/cmd/provider/desktops/zz_main.go index b1e177729..fdb3d277d 100644 --- a/cmd/provider/desktops/zz_main.go +++ b/cmd/provider/desktops/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - desktops Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-desktops", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/devops/zz_main.go b/cmd/provider/devops/zz_main.go index 0b30c7e9e..ff1ed73ef 100644 --- a/cmd/provider/devops/zz_main.go +++ b/cmd/provider/devops/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - devops Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-devops", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/dif/zz_main.go b/cmd/provider/dif/zz_main.go index 214640f30..9d1effce9 100644 --- a/cmd/provider/dif/zz_main.go +++ b/cmd/provider/dif/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - dif Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-dif", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/disasterrecovery/zz_main.go b/cmd/provider/disasterrecovery/zz_main.go index 49fd51d9d..8c077e2aa 100644 --- a/cmd/provider/disasterrecovery/zz_main.go +++ b/cmd/provider/disasterrecovery/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - disasterrecovery Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-disasterrecovery", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/distributeddatabase/zz_main.go b/cmd/provider/distributeddatabase/zz_main.go index 6fcb3ee90..d9596e29a 100644 --- a/cmd/provider/distributeddatabase/zz_main.go +++ b/cmd/provider/distributeddatabase/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - distributeddatabase Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-distributeddatabase", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/dns/zz_main.go b/cmd/provider/dns/zz_main.go index 534409434..9b0c16925 100644 --- a/cmd/provider/dns/zz_main.go +++ b/cmd/provider/dns/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - dns Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-dns", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/email/zz_main.go b/cmd/provider/email/zz_main.go index 43a8b31f2..8b48fe468 100644 --- a/cmd/provider/email/zz_main.go +++ b/cmd/provider/email/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - email Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-email", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/events/zz_main.go b/cmd/provider/events/zz_main.go index dceaebfc4..66790f357 100644 --- a/cmd/provider/events/zz_main.go +++ b/cmd/provider/events/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - events Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-events", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/filestorage/zz_main.go b/cmd/provider/filestorage/zz_main.go index fc7c7190f..fc36457c9 100644 --- a/cmd/provider/filestorage/zz_main.go +++ b/cmd/provider/filestorage/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - filestorage Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-filestorage", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/fleetappsmanagement/zz_main.go b/cmd/provider/fleetappsmanagement/zz_main.go index dfd078640..f931cdda4 100644 --- a/cmd/provider/fleetappsmanagement/zz_main.go +++ b/cmd/provider/fleetappsmanagement/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - fleetappsmanagement Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-fleetappsmanagement", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/fleetsoftwareupdate/zz_main.go b/cmd/provider/fleetsoftwareupdate/zz_main.go index 6bd88971f..209516eea 100644 --- a/cmd/provider/fleetsoftwareupdate/zz_main.go +++ b/cmd/provider/fleetsoftwareupdate/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - fleetsoftwareupdate Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-fleetsoftwareupdate", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/functions/zz_main.go b/cmd/provider/functions/zz_main.go index ed49b07f4..c4b5713cd 100644 --- a/cmd/provider/functions/zz_main.go +++ b/cmd/provider/functions/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - functions Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-functions", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/fusionapps/zz_main.go b/cmd/provider/fusionapps/zz_main.go index 51b65a4df..137ce127b 100644 --- a/cmd/provider/fusionapps/zz_main.go +++ b/cmd/provider/fusionapps/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - fusionapps Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-fusionapps", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/gdp/zz_main.go b/cmd/provider/gdp/zz_main.go index 2383aa1ce..b848d8d85 100644 --- a/cmd/provider/gdp/zz_main.go +++ b/cmd/provider/gdp/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - gdp Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-gdp", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/generativeai/zz_main.go b/cmd/provider/generativeai/zz_main.go index 6b8d5d0eb..40cf3e6e6 100644 --- a/cmd/provider/generativeai/zz_main.go +++ b/cmd/provider/generativeai/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - generativeai Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-generativeai", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/genericartifactscontent/zz_main.go b/cmd/provider/genericartifactscontent/zz_main.go index a33fd2de4..7f57beb73 100644 --- a/cmd/provider/genericartifactscontent/zz_main.go +++ b/cmd/provider/genericartifactscontent/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - genericartifactscontent Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-genericartifactscontent", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/goldengate/zz_main.go b/cmd/provider/goldengate/zz_main.go index 8de69fdae..746409fa2 100644 --- a/cmd/provider/goldengate/zz_main.go +++ b/cmd/provider/goldengate/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - goldengate Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-goldengate", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/healthchecks/zz_main.go b/cmd/provider/healthchecks/zz_main.go index e8e3c5959..af0b0c82e 100644 --- a/cmd/provider/healthchecks/zz_main.go +++ b/cmd/provider/healthchecks/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - healthchecks Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-healthchecks", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/identity/zz_main.go b/cmd/provider/identity/zz_main.go index 82319e3cf..e744f1390 100644 --- a/cmd/provider/identity/zz_main.go +++ b/cmd/provider/identity/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - identity Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-identity", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/identitydataplane/zz_main.go b/cmd/provider/identitydataplane/zz_main.go index 20afcaa18..435c219c5 100644 --- a/cmd/provider/identitydataplane/zz_main.go +++ b/cmd/provider/identitydataplane/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - identitydataplane Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-identitydataplane", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/identitydomains/zz_main.go b/cmd/provider/identitydomains/zz_main.go index 18a6c1faa..5d17a4d3b 100644 --- a/cmd/provider/identitydomains/zz_main.go +++ b/cmd/provider/identitydomains/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - identitydomains Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-identitydomains", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/integration/zz_main.go b/cmd/provider/integration/zz_main.go index d78e0d22f..e401f3fd3 100644 --- a/cmd/provider/integration/zz_main.go +++ b/cmd/provider/integration/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - integration Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-integration", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/iot/zz_main.go b/cmd/provider/iot/zz_main.go index c595d852c..dbdc7e18e 100644 --- a/cmd/provider/iot/zz_main.go +++ b/cmd/provider/iot/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - iot Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-iot", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/jms/zz_main.go b/cmd/provider/jms/zz_main.go index 5019fa57b..7ee852130 100644 --- a/cmd/provider/jms/zz_main.go +++ b/cmd/provider/jms/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - jms Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-jms", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/jmsjavadownloads/zz_main.go b/cmd/provider/jmsjavadownloads/zz_main.go index 523fcf0ec..7501745f2 100644 --- a/cmd/provider/jmsjavadownloads/zz_main.go +++ b/cmd/provider/jmsjavadownloads/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - jmsjavadownloads Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-jmsjavadownloads", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/jmsutils/zz_main.go b/cmd/provider/jmsutils/zz_main.go index 11bf7e3df..caf24ddbb 100644 --- a/cmd/provider/jmsutils/zz_main.go +++ b/cmd/provider/jmsutils/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - jmsutils Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-jmsutils", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/kms/zz_main.go b/cmd/provider/kms/zz_main.go index 87e1a8d5b..c210065cb 100644 --- a/cmd/provider/kms/zz_main.go +++ b/cmd/provider/kms/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - kms Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-kms", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/licensemanager/zz_main.go b/cmd/provider/licensemanager/zz_main.go index 903d4702f..b06681c88 100644 --- a/cmd/provider/licensemanager/zz_main.go +++ b/cmd/provider/licensemanager/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - licensemanager Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-licensemanager", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/limits/zz_main.go b/cmd/provider/limits/zz_main.go index 2be18d509..d6af304d4 100644 --- a/cmd/provider/limits/zz_main.go +++ b/cmd/provider/limits/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - limits Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-limits", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/loadbalancer/zz_main.go b/cmd/provider/loadbalancer/zz_main.go index eb3d191fe..30ab54bc7 100644 --- a/cmd/provider/loadbalancer/zz_main.go +++ b/cmd/provider/loadbalancer/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - loadbalancer Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-loadbalancer", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/loganalytics/zz_main.go b/cmd/provider/loganalytics/zz_main.go index 02f072bdd..8fa7c4ccd 100644 --- a/cmd/provider/loganalytics/zz_main.go +++ b/cmd/provider/loganalytics/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - loganalytics Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-loganalytics", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/logging/zz_main.go b/cmd/provider/logging/zz_main.go index 34220b579..4969ff85b 100644 --- a/cmd/provider/logging/zz_main.go +++ b/cmd/provider/logging/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - logging Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-logging", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/lustrefilestorage/zz_main.go b/cmd/provider/lustrefilestorage/zz_main.go index 4ded3b9d3..45ebe185d 100644 --- a/cmd/provider/lustrefilestorage/zz_main.go +++ b/cmd/provider/lustrefilestorage/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - lustrefilestorage Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-lustrefilestorage", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/managedkafka/zz_main.go b/cmd/provider/managedkafka/zz_main.go index 18077761e..e8f9265dc 100644 --- a/cmd/provider/managedkafka/zz_main.go +++ b/cmd/provider/managedkafka/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - managedkafka Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-managedkafka", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/managementagent/zz_main.go b/cmd/provider/managementagent/zz_main.go index 2c86a680e..cef9a4251 100644 --- a/cmd/provider/managementagent/zz_main.go +++ b/cmd/provider/managementagent/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - managementagent Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-managementagent", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/managementdashboard/zz_main.go b/cmd/provider/managementdashboard/zz_main.go index cba844284..2b68bbe8b 100644 --- a/cmd/provider/managementdashboard/zz_main.go +++ b/cmd/provider/managementdashboard/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - managementdashboard Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-managementdashboard", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/marketplace/zz_main.go b/cmd/provider/marketplace/zz_main.go index 768335a78..f22065e58 100644 --- a/cmd/provider/marketplace/zz_main.go +++ b/cmd/provider/marketplace/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - marketplace Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-marketplace", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/mediaservices/zz_main.go b/cmd/provider/mediaservices/zz_main.go index 288d0987a..ce02d556a 100644 --- a/cmd/provider/mediaservices/zz_main.go +++ b/cmd/provider/mediaservices/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - mediaservices Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-mediaservices", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/meteringcomputation/zz_main.go b/cmd/provider/meteringcomputation/zz_main.go index 00d5abe75..9b0bb85cf 100644 --- a/cmd/provider/meteringcomputation/zz_main.go +++ b/cmd/provider/meteringcomputation/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - meteringcomputation Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-meteringcomputation", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/monitoring/zz_main.go b/cmd/provider/monitoring/zz_main.go index 8c88c8a6f..843f6b3ce 100644 --- a/cmd/provider/monitoring/zz_main.go +++ b/cmd/provider/monitoring/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - monitoring Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-monitoring", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/monolith/zz_main.go b/cmd/provider/monolith/zz_main.go index 67cb4cbfc..7b81edc30 100644 --- a/cmd/provider/monolith/zz_main.go +++ b/cmd/provider/monolith/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - monolith Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-monolith", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/mysql/zz_main.go b/cmd/provider/mysql/zz_main.go index 79df3bd4e..a1b66aec9 100644 --- a/cmd/provider/mysql/zz_main.go +++ b/cmd/provider/mysql/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - mysql Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-mysql", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/networkconnectivity/zz_main.go b/cmd/provider/networkconnectivity/zz_main.go index a086fb3ea..41a5e7b80 100644 --- a/cmd/provider/networkconnectivity/zz_main.go +++ b/cmd/provider/networkconnectivity/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - networkconnectivity Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-networkconnectivity", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/networkfirewall/zz_main.go b/cmd/provider/networkfirewall/zz_main.go index 38bd93a5f..4d1242ab7 100644 --- a/cmd/provider/networkfirewall/zz_main.go +++ b/cmd/provider/networkfirewall/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - networkfirewall Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-networkfirewall", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/networking/zz_main.go b/cmd/provider/networking/zz_main.go index e98ccee6a..807ffdbf6 100644 --- a/cmd/provider/networking/zz_main.go +++ b/cmd/provider/networking/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - networking Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-networking", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/networkloadbalancer/zz_main.go b/cmd/provider/networkloadbalancer/zz_main.go index 5bf8b4ea1..15bb037cc 100644 --- a/cmd/provider/networkloadbalancer/zz_main.go +++ b/cmd/provider/networkloadbalancer/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - networkloadbalancer Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-networkloadbalancer", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/nosql/zz_main.go b/cmd/provider/nosql/zz_main.go index 470924197..9255bbbf1 100644 --- a/cmd/provider/nosql/zz_main.go +++ b/cmd/provider/nosql/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - nosql Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-nosql", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/objectstorage/zz_main.go b/cmd/provider/objectstorage/zz_main.go index a2344fe8e..66a8f2050 100644 --- a/cmd/provider/objectstorage/zz_main.go +++ b/cmd/provider/objectstorage/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - objectstorage Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-objectstorage", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/oce/zz_main.go b/cmd/provider/oce/zz_main.go index 9032eaae2..ce6cdf7c9 100644 --- a/cmd/provider/oce/zz_main.go +++ b/cmd/provider/oce/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - oce Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-oce", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/ocvp/zz_main.go b/cmd/provider/ocvp/zz_main.go index 91b410a9f..b11f06210 100644 --- a/cmd/provider/ocvp/zz_main.go +++ b/cmd/provider/ocvp/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - ocvp Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-ocvp", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/oda/zz_main.go b/cmd/provider/oda/zz_main.go index 0c87cd6b3..3f54d2eb4 100644 --- a/cmd/provider/oda/zz_main.go +++ b/cmd/provider/oda/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - oda Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-oda", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/ons/zz_main.go b/cmd/provider/ons/zz_main.go index 49fa1a30a..3a32fd750 100644 --- a/cmd/provider/ons/zz_main.go +++ b/cmd/provider/ons/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - ons Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-ons", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/opa/zz_main.go b/cmd/provider/opa/zz_main.go index a549b702e..bb5e3db13 100644 --- a/cmd/provider/opa/zz_main.go +++ b/cmd/provider/opa/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - opa Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-opa", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/opensearch/zz_main.go b/cmd/provider/opensearch/zz_main.go index 67a8305b5..ad7f955a4 100644 --- a/cmd/provider/opensearch/zz_main.go +++ b/cmd/provider/opensearch/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - opensearch Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-opensearch", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/operatoraccesscontrol/zz_main.go b/cmd/provider/operatoraccesscontrol/zz_main.go index c05f62bdc..3f0fda7d8 100644 --- a/cmd/provider/operatoraccesscontrol/zz_main.go +++ b/cmd/provider/operatoraccesscontrol/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - operatoraccesscontrol Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-operatoraccesscontrol", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/opsi/zz_main.go b/cmd/provider/opsi/zz_main.go index a6318db07..ccf5e407e 100644 --- a/cmd/provider/opsi/zz_main.go +++ b/cmd/provider/opsi/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - opsi Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-opsi", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/optimizer/zz_main.go b/cmd/provider/optimizer/zz_main.go index 76737ac80..89e92d24c 100644 --- a/cmd/provider/optimizer/zz_main.go +++ b/cmd/provider/optimizer/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - optimizer Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-optimizer", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/osmanagementhub/zz_main.go b/cmd/provider/osmanagementhub/zz_main.go index c96085896..3f81c2a27 100644 --- a/cmd/provider/osmanagementhub/zz_main.go +++ b/cmd/provider/osmanagementhub/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - osmanagementhub Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-osmanagementhub", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/ospgateway/zz_main.go b/cmd/provider/ospgateway/zz_main.go index b5684c959..7552854e0 100644 --- a/cmd/provider/ospgateway/zz_main.go +++ b/cmd/provider/ospgateway/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - ospgateway Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-ospgateway", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/psa/zz_main.go b/cmd/provider/psa/zz_main.go index a0f8cddfd..3d9d36dc0 100644 --- a/cmd/provider/psa/zz_main.go +++ b/cmd/provider/psa/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - psa Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-psa", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/psql/zz_main.go b/cmd/provider/psql/zz_main.go index d44862fef..87c8aaa7b 100644 --- a/cmd/provider/psql/zz_main.go +++ b/cmd/provider/psql/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - psql Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-psql", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/queue/zz_main.go b/cmd/provider/queue/zz_main.go index 6d6866f3e..a9fe0051c 100644 --- a/cmd/provider/queue/zz_main.go +++ b/cmd/provider/queue/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - queue Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-queue", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/recovery/zz_main.go b/cmd/provider/recovery/zz_main.go index c6b087ed3..1fa08f67f 100644 --- a/cmd/provider/recovery/zz_main.go +++ b/cmd/provider/recovery/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - recovery Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-recovery", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/redis/zz_main.go b/cmd/provider/redis/zz_main.go index c086fdc23..064da9172 100644 --- a/cmd/provider/redis/zz_main.go +++ b/cmd/provider/redis/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - redis Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-redis", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/resourceanalytics/zz_main.go b/cmd/provider/resourceanalytics/zz_main.go index 464597ee9..928c1b5f5 100644 --- a/cmd/provider/resourceanalytics/zz_main.go +++ b/cmd/provider/resourceanalytics/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - resourceanalytics Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-resourceanalytics", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/resourcemanager/zz_main.go b/cmd/provider/resourcemanager/zz_main.go index fcbe9a2b0..100cf2f0a 100644 --- a/cmd/provider/resourcemanager/zz_main.go +++ b/cmd/provider/resourcemanager/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - resourcemanager Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-resourcemanager", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/resourcescheduler/zz_main.go b/cmd/provider/resourcescheduler/zz_main.go index 496081444..c31de8d0e 100644 --- a/cmd/provider/resourcescheduler/zz_main.go +++ b/cmd/provider/resourcescheduler/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - resourcescheduler Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-resourcescheduler", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/sch/zz_main.go b/cmd/provider/sch/zz_main.go index 3df0b6574..488d5629c 100644 --- a/cmd/provider/sch/zz_main.go +++ b/cmd/provider/sch/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - sch Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-sch", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/securityattribute/zz_main.go b/cmd/provider/securityattribute/zz_main.go index fc6f1ccd7..cd1717e8e 100644 --- a/cmd/provider/securityattribute/zz_main.go +++ b/cmd/provider/securityattribute/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - securityattribute Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-securityattribute", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/self/zz_main.go b/cmd/provider/self/zz_main.go index 22172542b..571ea7c9a 100644 --- a/cmd/provider/self/zz_main.go +++ b/cmd/provider/self/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - self Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-self", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/servicecatalog/zz_main.go b/cmd/provider/servicecatalog/zz_main.go index 9b9df7979..1f3900f33 100644 --- a/cmd/provider/servicecatalog/zz_main.go +++ b/cmd/provider/servicecatalog/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - servicecatalog Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-servicecatalog", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/stackmonitoring/zz_main.go b/cmd/provider/stackmonitoring/zz_main.go index 6d7fde413..2a8dee546 100644 --- a/cmd/provider/stackmonitoring/zz_main.go +++ b/cmd/provider/stackmonitoring/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - stackmonitoring Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-stackmonitoring", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/streaming/zz_main.go b/cmd/provider/streaming/zz_main.go index 2d2c31e60..b82e66774 100644 --- a/cmd/provider/streaming/zz_main.go +++ b/cmd/provider/streaming/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - streaming Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-streaming", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/tenantmanagercontrolplane/zz_main.go b/cmd/provider/tenantmanagercontrolplane/zz_main.go index a959b3859..ed8ba4f2a 100644 --- a/cmd/provider/tenantmanagercontrolplane/zz_main.go +++ b/cmd/provider/tenantmanagercontrolplane/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - tenantmanagercontrolplane Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-tenantmanagercontrolplane", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/usageproxy/zz_main.go b/cmd/provider/usageproxy/zz_main.go index b589462b0..19297b1ff 100644 --- a/cmd/provider/usageproxy/zz_main.go +++ b/cmd/provider/usageproxy/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - usageproxy Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-usageproxy", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/vault/zz_main.go b/cmd/provider/vault/zz_main.go index a344cfab4..580607431 100644 --- a/cmd/provider/vault/zz_main.go +++ b/cmd/provider/vault/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - vault Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-vault", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/vbsinst/zz_main.go b/cmd/provider/vbsinst/zz_main.go index cbbd66303..f27fb6d2a 100644 --- a/cmd/provider/vbsinst/zz_main.go +++ b/cmd/provider/vbsinst/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - vbsinst Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-vbsinst", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/visualbuilder/zz_main.go b/cmd/provider/visualbuilder/zz_main.go index b90d03733..1a206a395 100644 --- a/cmd/provider/visualbuilder/zz_main.go +++ b/cmd/provider/visualbuilder/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - visualbuilder Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-visualbuilder", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/vnmonitoring/zz_main.go b/cmd/provider/vnmonitoring/zz_main.go index cc00b21ec..0a08386f4 100644 --- a/cmd/provider/vnmonitoring/zz_main.go +++ b/cmd/provider/vnmonitoring/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - vnmonitoring Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-vnmonitoring", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/vulnerabilityscanning/zz_main.go b/cmd/provider/vulnerabilityscanning/zz_main.go index 18a01581e..3c6778120 100644 --- a/cmd/provider/vulnerabilityscanning/zz_main.go +++ b/cmd/provider/vulnerabilityscanning/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - vulnerabilityscanning Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-vulnerabilityscanning", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/waa/zz_main.go b/cmd/provider/waa/zz_main.go index 6c2e24365..b8985051e 100644 --- a/cmd/provider/waa/zz_main.go +++ b/cmd/provider/waa/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - waa Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-waa", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/waas/zz_main.go b/cmd/provider/waas/zz_main.go index 0851ae0a0..59cba940f 100644 --- a/cmd/provider/waas/zz_main.go +++ b/cmd/provider/waas/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - waas Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-waas", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/waf/zz_main.go b/cmd/provider/waf/zz_main.go index ba2e07e3a..e90f18daa 100644 --- a/cmd/provider/waf/zz_main.go +++ b/cmd/provider/waf/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - waf Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-waf", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/cmd/provider/zpr/zz_main.go b/cmd/provider/zpr/zz_main.go index 2ef5a0885..65fd15147 100644 --- a/cmd/provider/zpr/zz_main.go +++ b/cmd/provider/zpr/zz_main.go @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - zpr Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-zpr", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/config/generation_schema.go b/config/generation_schema.go new file mode 100644 index 000000000..2f2920fd4 --- /dev/null +++ b/config/generation_schema.go @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2026 Oracle and/or its affiliates + * + * 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 config + +import ( + "fmt" + + conversiontfjson "github.com/crossplane/upjet/v2/pkg/types/conversion/tfjson" + tfjson "github.com/hashicorp/terraform-json" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" +) + +// applyTerraformJSONGenerationSchemas preserves the public API and CRD schema +// while Upjet generates SDKv2 no-fork controllers. Upjet normally replaces its +// Terraform JSON-derived resource schemas with the live SDKv2 schemas for +// SDK-routed resources. The two representations differ in API-shaping details, +// including number and map types, field modes, sensitive fields, and nested +// field membership. +// +// This function must only receive a fresh provider instance used by the +// generator. Runtime provider instances must retain their native SDKv2 schemas. +// Resource operation callbacks and other runtime behavior remain on each live +// SDKv2 resource; only the schema used by Upjet's generation pipeline is +// replaced. +func applyTerraformJSONGenerationSchemas(provider *schema.Provider, rawProviderSchema []byte) { + if provider == nil { + panic("cannot apply Terraform JSON generation schemas to a nil provider") + } + + applyGenerationResourceSchemas(provider, terraformJSONResourceMap(rawProviderSchema)) +} + +func applyGenerationResourceSchemas(provider *schema.Provider, generationResources map[string]*schema.Resource) { + for name, generationResource := range generationResources { + sdkResource := provider.ResourcesMap[name] + if sdkResource == nil || generationResource == nil { + continue + } + sdkResource.Schema = cloneGenerationSchemaMap(generationResource.Schema) + } +} + +func terraformJSONResourceMap(rawProviderSchema []byte) map[string]*schema.Resource { + providerSchemas := tfjson.ProviderSchemas{} + if err := providerSchemas.UnmarshalJSON(rawProviderSchema); err != nil { + panic(fmt.Sprintf("cannot parse Terraform JSON generation schema: %v", err)) + } + if len(providerSchemas.Schemas) != 1 { + panic(fmt.Sprintf("expected one Terraform provider generation schema, got %d", len(providerSchemas.Schemas))) + } + for _, provider := range providerSchemas.Schemas { + return conversiontfjson.GetV2ResourceMap(provider.ResourceSchemas) + } + return nil +} + +func cloneGenerationSchemaMap(source map[string]*schema.Schema) map[string]*schema.Schema { + if source == nil { + return nil + } + result := make(map[string]*schema.Schema, len(source)) + for name, field := range source { + result[name] = cloneGenerationSchema(field) + } + return result +} + +func cloneGenerationSchema(source *schema.Schema) *schema.Schema { + if source == nil { + return nil + } + result := *source + result.ComputedWhen = append([]string(nil), source.ComputedWhen...) + result.ConflictsWith = append([]string(nil), source.ConflictsWith...) + result.ExactlyOneOf = append([]string(nil), source.ExactlyOneOf...) + result.AtLeastOneOf = append([]string(nil), source.AtLeastOneOf...) + result.RequiredWith = append([]string(nil), source.RequiredWith...) + switch element := source.Elem.(type) { + case *schema.Schema: + result.Elem = cloneGenerationSchema(element) + case *schema.Resource: + result.Elem = cloneGenerationResource(element) + } + return &result +} + +func cloneGenerationResource(source *schema.Resource) *schema.Resource { + if source == nil { + return nil + } + result := *source + result.Schema = cloneGenerationSchemaMap(source.Schema) + return &result +} diff --git a/config/generation_schema_test.go b/config/generation_schema_test.go new file mode 100644 index 000000000..2aaf4dfee --- /dev/null +++ b/config/generation_schema_test.go @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2026 Oracle and/or its affiliates + * + * 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 config + +import ( + "context" + "reflect" + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" +) + +func TestApplyTerraformJSONGenerationSchemasPreservesCompleteShape(t *testing.T) { + const resourceName = "test_resource" + baseline := &schema.Resource{Schema: map[string]*schema.Schema{ + "count": { + Type: schema.TypeFloat, + Optional: true, + Description: "JSON number", + }, + "metadata": { + Type: schema.TypeMap, + Required: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + "nested": { + Type: schema.TypeList, + Computed: true, + MaxItems: 1, + Elem: &schema.Resource{Schema: map[string]*schema.Schema{ + "secret": { + Type: schema.TypeString, + Sensitive: true, + Computed: true, + }, + }}, + }, + }} + live := &schema.Resource{ + Schema: map[string]*schema.Schema{ + "count": { + Type: schema.TypeInt, + Required: true, + }, + "metadata": { + Type: schema.TypeMap, + Elem: schema.TypeString, + }, + "nested": { + Type: schema.TypeList, + Optional: true, + Elem: &schema.Resource{Schema: map[string]*schema.Schema{ + "different": { + Type: schema.TypeBool, + }, + }}, + }, + "sdk_only": { + Type: schema.TypeString, + Optional: true, + }, + }, + CreateContext: func(_ context.Context, _ *schema.ResourceData, _ any) diag.Diagnostics { + return nil + }, + } + provider := &schema.Provider{ResourcesMap: map[string]*schema.Resource{ + resourceName: live, + }} + + applyGenerationResourceSchemas(provider, map[string]*schema.Resource{ + resourceName: baseline, + }) + + if !reflect.DeepEqual(live.Schema, baseline.Schema) { + t.Fatalf("generation schema differs from Terraform JSON baseline") + } + if live.CreateContext == nil { + t.Fatal("resource operation callbacks were not preserved") + } + live.Schema["count"].Description = "changed" + if baseline.Schema["count"].Description == "changed" { + t.Fatal("generation schema shares nested pointers with the Terraform JSON baseline") + } +} + +func TestCloneGenerationSchemaPreservesAllSchemaProperties(t *testing.T) { + source := &schema.Schema{ + Type: schema.TypeList, + Optional: true, + Computed: true, + Sensitive: true, + ForceNew: true, + MinItems: 1, + MaxItems: 2, + Description: "complete shape", + ComputedWhen: []string{"computed"}, + ConflictsWith: []string{"other"}, + ExactlyOneOf: []string{"one"}, + AtLeastOneOf: []string{"some"}, + RequiredWith: []string{"required"}, + Elem: &schema.Resource{Schema: map[string]*schema.Schema{ + "value": { + Type: schema.TypeString, + Required: true, + }, + }}, + } + + cloned := cloneGenerationSchema(source) + if !reflect.DeepEqual(cloned, source) { + t.Fatal("cloned schema does not preserve the complete source shape") + } + cloned.Elem.(*schema.Resource).Schema["value"].Description = "changed" + if source.Elem.(*schema.Resource).Schema["value"].Description == "changed" { + t.Fatal("cloned nested resource shares schema pointers with source") + } + cloned.ConflictsWith[0] = "changed" + if source.ConflictsWith[0] == "changed" { + t.Fatal("cloned schema shares validation slices with source") + } +} diff --git a/config/nofork.go b/config/nofork.go new file mode 100644 index 000000000..699d24dcd --- /dev/null +++ b/config/nofork.go @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2026 Oracle and/or its affiliates + * + * 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 config + +import ( + "encoding/json" + "regexp" + "slices" + "sort" + "sync" +) + +// terraformPluginFrameworkIncludeList is intentionally empty until OCI +// Terraform Plugin Framework resources are validated for no-fork routing. +var terraformPluginFrameworkIncludeList = []string{} + +type terraformProviderSchema struct { + ProviderSchemas map[string]struct { + ResourceSchemas map[string]json.RawMessage `json:"resource_schemas"` + } `json:"provider_schemas"` +} + +type terraformResourceRouting struct { + names []string + sdkV2Resources map[string]struct{} + sdkV2Regexes []string +} + +var loadTerraformResourceRouting = sync.OnceValue(func() terraformResourceRouting { + names := parseTerraformResourceNamesFromSchema() + routing := terraformResourceRouting{ + names: names, + sdkV2Resources: make(map[string]struct{}, len(names)), + sdkV2Regexes: make([]string, 0, len(names)), + } + for _, resource := range names { + routing.sdkV2Resources[resource] = struct{}{} + routing.sdkV2Regexes = append(routing.sdkV2Regexes, exactResourceRegex(resource)) + } + return routing +}) + +func terraformPluginSDKIncludeList() []string { + return slices.Clone(loadTerraformResourceRouting().sdkV2Regexes) +} + +// IsSDKv2Resource reports whether the Terraform resource type is routed through +// Upjet's in-process Terraform Plugin SDKv2 connector. +func IsSDKv2Resource(terraformResourceType string) bool { + _, ok := loadTerraformResourceRouting().sdkV2Resources[terraformResourceType] + return ok +} + +// HasFrameworkResources reports whether any resources are routed through +// Upjet's in-process Terraform Plugin Framework connector. +func HasFrameworkResources() bool { + return len(terraformPluginFrameworkIncludeList) != 0 +} + +func terraformResourceNamesFromSchema() []string { + return slices.Clone(loadTerraformResourceRouting().names) +} + +func parseTerraformResourceNamesFromSchema() []string { + var schema terraformProviderSchema + if err := json.Unmarshal([]byte(providerSchema), &schema); err != nil { + panic(err) + } + + var resources []string + for _, provider := range schema.ProviderSchemas { + for name := range provider.ResourceSchemas { + resources = append(resources, name) + } + } + sort.Strings(resources) + return resources +} + +func exactResourceRegex(resource string) string { + return "^" + regexp.QuoteMeta(resource) + "$" +} + +func resourceMatches(resource string, regexes []string) bool { + for _, pattern := range regexes { + if regexp.MustCompile(pattern).MatchString(resource) { + return true + } + } + return false +} diff --git a/config/nofork_provider_test.go b/config/nofork_provider_test.go new file mode 100644 index 000000000..e6e37fc7e --- /dev/null +++ b/config/nofork_provider_test.go @@ -0,0 +1,146 @@ +//go:build nofork + +/* + * Copyright (c) 2026 Oracle and/or its affiliates + * + * 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 config + +import ( + "testing" + + ujconfig "github.com/crossplane/upjet/v2/pkg/config" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" +) + +func TestProviderConfigIncludesPreviouslySkippedNoForkResources(t *testing.T) { + for name, provider := range map[string]func() *ujconfig.Provider{ + "cluster": GetProvider, + "namespaced": GetProviderNamespaced, + } { + t.Run(name, func(t *testing.T) { + pc := provider() + + savedSearch := pc.Resources["oci_management_dashboard_management_saved_search"] + if savedSearch == nil { + t.Fatal("ManagementSavedSearch resource was not generated") + } + if !savedSearch.ShouldUseTerraformPluginSDKClient() { + t.Fatal("ManagementSavedSearch is not routed through SDKv2 no-fork") + } + + opensearchCluster := pc.Resources["oci_opensearch_opensearch_cluster"] + if opensearchCluster == nil { + t.Fatal("OpensearchCluster resource was not generated") + } + if !opensearchCluster.ShouldUseTerraformPluginSDKClient() { + t.Fatal("OpensearchCluster is not routed through SDKv2 no-fork") + } + + requireGranularMapStrategies(t, pc, "oci_zpr_zpr_policy", "defined_tags", "freeform_tags") + requireGranularMapStrategies(t, pc, "oci_core_vcn", "defined_tags", "freeform_tags", "security_attributes") + requireGranularMapStrategies(t, pc, "oci_objectstorage_bucket", "defined_tags", "freeform_tags", "metadata") + + // Cover scalar maps inside nested list blocks and computed-only maps. + // These schemas do not occur in the commonly tagged resources above. + for _, resource := range []string{ + "oci_capacity_management_occ_capacity_request", + "oci_data_safe_security_assessment_check", + "oci_data_safe_security_assessment_finding", + "oci_data_safe_sensitive_type_group_grouped_sensitive_type", + "oci_demand_signal_occ_demand_signal", + "oci_psql_db_system", + } { + requireGranularMapStrategies(t, pc, resource, "patch_operations.value") + } + requireGranularMapStrategies(t, pc, "oci_generic_artifacts_content_artifact_by_path", "defined_tags", "freeform_tags") + }) + } +} + +func TestGeneratedAPICompatibilityDoesNotMutateRuntimeSchema(t *testing.T) { + const resourceName = "oci_adm_vulnerability_audit" + const integerField = "vulnerable_artifacts_count" + + runtimeResource := GetProvider().Resources[resourceName] + if runtimeResource == nil { + t.Fatalf("runtime resource %q is missing", resourceName) + } + if got := runtimeResource.TerraformResource.Schema[integerField].Type; got != schema.TypeInt { + t.Fatalf("runtime %s.%s type = %s, want TypeInt", resourceName, integerField, got) + } + + generatedResource := GetProviderForGeneration().Resources[resourceName] + if generatedResource == nil { + t.Fatalf("generation resource %q is missing", resourceName) + } + if got := generatedResource.TerraformResource.Schema[integerField].Type; got != schema.TypeFloat { + t.Fatalf("generation %s.%s type = %s, want TypeFloat", resourceName, integerField, got) + } + + const mapResourceName = "oci_objectstorage_object" + const mapField = "metadata" + runtimeMap := GetProvider().Resources[mapResourceName].TerraformResource.Schema[mapField] + if _, ok := runtimeMap.Elem.(schema.ValueType); !ok { + t.Fatalf("runtime %s.%s element = %T, want schema.ValueType", mapResourceName, mapField, runtimeMap.Elem) + } + generationMap := GetProviderForGeneration().Resources[mapResourceName].TerraformResource.Schema[mapField] + if _, ok := generationMap.Elem.(*schema.Schema); !ok { + t.Fatalf("generation %s.%s element = %T, want *schema.Schema", mapResourceName, mapField, generationMap.Elem) + } +} + +func TestEmbeddedSDKProviderInstancesDoNotShareTopLevelMaps(t *testing.T) { + first := terraformSDKProvider() + second := terraformSDKProvider() + if first == second { + t.Fatal("terraformSDKProvider returned the same provider instance") + } + + const resourceName = "oci_core_vcn" + if first.ResourcesMap[resourceName] == nil || second.ResourcesMap[resourceName] == nil { + t.Fatalf("expected %q in both provider resource maps", resourceName) + } + delete(first.ResourcesMap, resourceName) + if second.ResourcesMap[resourceName] == nil { + t.Fatalf("deleting %q from one provider changed another provider's resource map", resourceName) + } + + const datasourceName = "oci_core_vcns" + if first.DataSourcesMap[datasourceName] == nil || second.DataSourcesMap[datasourceName] == nil { + t.Fatalf("expected %q in both provider data source maps", datasourceName) + } + delete(first.DataSourcesMap, datasourceName) + if second.DataSourcesMap[datasourceName] == nil { + t.Fatalf("deleting %q from one provider changed another provider's data source map", datasourceName) + } +} + +func requireGranularMapStrategies(t *testing.T, pc *ujconfig.Provider, resource string, fields ...string) { + t.Helper() + r := pc.Resources[resource] + if r == nil { + t.Fatalf("%s resource was not generated", resource) + } + for _, field := range fields { + strategy, ok := r.ServerSideApplyMergeStrategies[field] + if !ok { + t.Fatalf("%s %s server-side apply merge strategy is missing", resource, field) + } + if strategy.MapMergeStrategy != ujconfig.MapTypeGranular { + t.Fatalf("%s %s map merge strategy = %q, want %q", resource, field, strategy.MapMergeStrategy, ujconfig.MapTypeGranular) + } + } +} diff --git a/config/nofork_test.go b/config/nofork_test.go new file mode 100644 index 000000000..3341b9e69 --- /dev/null +++ b/config/nofork_test.go @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2026 Oracle and/or its affiliates + * + * 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 config + +import "testing" + +func TestFrameworkRoutingIsDormant(t *testing.T) { + if len(terraformPluginFrameworkIncludeList) != 0 { + t.Fatalf("framework routing length = %d, want 0", len(terraformPluginFrameworkIncludeList)) + } + if HasFrameworkResources() { + t.Fatal("HasFrameworkResources() = true, want false") + } +} + +func TestSDKv2RoutingIncludesAllSchemaResources(t *testing.T) { + for _, resource := range terraformResourceNamesFromSchema() { + if !IsSDKv2Resource(resource) { + t.Fatalf("IsSDKv2Resource(%q) = false, want true", resource) + } + } +} + +func TestSDKv2RoutingRejectsUnknownResource(t *testing.T) { + if IsSDKv2Resource("oci_does_not_exist") { + t.Fatal("IsSDKv2Resource() = true for an unknown resource") + } +} + +func TestSDKv2ResourceLookupDoesNotAllocate(t *testing.T) { + const resource = "oci_core_vcn" + if !IsSDKv2Resource(resource) { + t.Fatalf("IsSDKv2Resource(%q) = false, want true", resource) + } + if got := testing.AllocsPerRun(100, func() { + IsSDKv2Resource(resource) + }); got != 0 { + t.Fatalf("IsSDKv2Resource() allocations = %v, want 0", got) + } +} + +func BenchmarkIsSDKv2Resource(b *testing.B) { + for b.Loop() { + IsSDKv2Resource("oci_core_vcn") + } +} + +func TestPreviouslySkippedNoForkResourcesUseSDKv2(t *testing.T) { + for _, resource := range []string{ + "oci_management_dashboard_management_saved_search", + "oci_opensearch_opensearch_cluster", + } { + if !IsSDKv2Resource(resource) { + t.Fatalf("IsSDKv2Resource(%q) = false, want true", resource) + } + if resourceMatches(resource, ProblematicResources()) { + t.Fatalf("%q matches ProblematicResources(), want generated through SDKv2 no-fork", resource) + } + } +} + +func TestSDKv2RoutingIncludesRepresentativeResources(t *testing.T) { + for _, resource := range []string{ + "oci_apigateway_gateway", + "oci_autoscaling_auto_scaling_configuration", + "oci_bastion_bastion", + "oci_budget_budget", + "oci_file_storage_file_system", + "oci_core_subnet", + "oci_core_vcn", + "oci_identity_tag_namespace", + "oci_kms_key", + "oci_load_balancer_load_balancer", + "oci_mysql_mysql_db_system", + "oci_network_load_balancer_network_load_balancer", + "oci_objectstorage_bucket", + "oci_psql_db_system", + "oci_queue_queue", + "oci_streaming_stream", + "oci_vault_secret", + "oci_waf_web_app_firewall", + "oci_containerengine_cluster", + } { + if !IsSDKv2Resource(resource) { + t.Fatalf("IsSDKv2Resource(%q) = false, want true", resource) + } + } +} diff --git a/config/provider.go b/config/provider.go index 5bf09e9bd..2446ee2ec 100644 --- a/config/provider.go +++ b/config/provider.go @@ -39,10 +39,6 @@ var providerSchema string //go:embed provider-metadata.yaml var providerMetadata string -var ServiceWildcards = []string{ - ".*", -} - // ProblematicResources returns a list of regex patterns for resources that should be // skipped during generation due to known issues or incompatibilities. // These resources can be added to support later after resolving their specific issues. @@ -71,11 +67,21 @@ func ProblematicResources() []string { } } -func newProvider(rootGroup string, register func(*ujconfig.Provider)) *ujconfig.Provider { +func newProvider(rootGroup string, register func(*ujconfig.Provider), useTerraformJSONGenerationSchema bool) *ujconfig.Provider { + sdkProvider := terraformSDKProvider() + if useTerraformJSONGenerationSchema { + applyTerraformJSONGenerationSchemas(sdkProvider, []byte(providerSchema)) + } + pc := ujconfig.NewProvider([]byte(providerSchema), resourcePrefix, modulePath, []byte(providerMetadata), ujconfig.WithRootGroup(rootGroup), - // This will include manually configured resources + resources corresponding to services listed in wildcards - ujconfig.WithIncludeList(append(ExternalNameConfigured(), ServiceWildcards...)), + // Disable Upjet's Terraform CLI route. All generated OCI resources are + // routed through in-process no-fork connectors. + ujconfig.WithIncludeList(nil), + ujconfig.WithTerraformProvider(sdkProvider), + ujconfig.WithTerraformPluginSDKIncludeList(terraformPluginSDKIncludeList()), + ujconfig.WithTerraformPluginFrameworkProvider(terraformFrameworkProvider()), + ujconfig.WithTerraformPluginFrameworkIncludeList(terraformPluginFrameworkIncludeList), ujconfig.WithSkipList(ProblematicResources()), ujconfig.WithDefaultResourceOptions( GroupKindOverrides(), @@ -92,6 +98,7 @@ func newProvider(rootGroup string, register func(*ujconfig.Provider)) *ujconfig. ) register(pc) + configureSDKv2ScalarMapServerSideApplyMergeStrategies(pc) pc.ConfigureResources() return pc } @@ -102,7 +109,7 @@ func GetProvider() *ujconfig.Provider { for _, configure := range cluster.ProviderConfiguration { configure(pc) } - }) + }, false) } // GetProviderNamespaced returns namespaced provider configuration. @@ -111,5 +118,27 @@ func GetProviderNamespaced() *ujconfig.Provider { for _, configure := range namespaced.ProviderConfiguration { configure(pc) } - }) + }, false) +} + +// GetProviderForGeneration returns the cluster-scoped provider configuration +// with compatibility transformations that preserve the existing public API and +// CRD shapes. Runtime controllers must use GetProvider so the embedded SDKv2 +// connector retains the provider's native schema. +func GetProviderForGeneration() *ujconfig.Provider { + return newProvider("oci.upbound.io", func(pc *ujconfig.Provider) { + for _, configure := range cluster.ProviderConfiguration { + configure(pc) + } + }, true) +} + +// GetProviderNamespacedForGeneration returns the namespaced provider +// configuration with generation-only public API compatibility transformations. +func GetProviderNamespacedForGeneration() *ujconfig.Provider { + return newProvider("oci.m.upbound.io", func(pc *ujconfig.Provider) { + for _, configure := range namespaced.ProviderConfiguration { + configure(pc) + } + }, true) } diff --git a/config/server_side_apply.go b/config/server_side_apply.go new file mode 100644 index 000000000..e6a7cd871 --- /dev/null +++ b/config/server_side_apply.go @@ -0,0 +1,109 @@ +/* + * Copyright (c) 2026 Oracle and/or its affiliates + * + * 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 config + +import ( + "strings" + + ujconfig "github.com/crossplane/upjet/v2/pkg/config" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" +) + +// configureSDKv2ScalarMapServerSideApplyMergeStrategies restores the default +// granular server-side apply semantics for scalar maps sourced from an SDKv2 +// provider. +// +// Upjet automatically adds granular markers when a scalar map element is +// represented by *schema.Schema. The embedded OCI SDKv2 provider represents +// equivalent scalar map elements as schema.ValueType instead. Configure the +// merge strategy explicitly so generated APIs and CRDs preserve the same +// ownership behavior regardless of that schema representation. +func configureSDKv2ScalarMapServerSideApplyMergeStrategies(p *ujconfig.Provider) { + for _, r := range p.Resources { + configureSDKv2ScalarMapServerSideApplyMergeStrategiesForResource(r) + } +} + +func configureSDKv2ScalarMapServerSideApplyMergeStrategiesForResource(r *ujconfig.Resource) { + if r == nil || r.TerraformResource == nil { + return + } + if r.ServerSideApplyMergeStrategies == nil { + r.ServerSideApplyMergeStrategies = make(ujconfig.ServerSideApplyMergeStrategies) + } + walkSDKv2SchemaForScalarMaps(r.TerraformResource, "", r) +} + +func walkSDKv2SchemaForScalarMaps(s *schema.Resource, prefix string, r *ujconfig.Resource) { + for name, f := range s.Schema { + if f == nil { + continue + } + + path := joinTerraformFieldPath(prefix, name) + if isSDKv2ScalarMap(f) { + if _, configured := r.ServerSideApplyMergeStrategies[path]; !configured { + r.ServerSideApplyMergeStrategies[path] = ujconfig.MergeStrategy{ + MapMergeStrategy: ujconfig.MapTypeGranular, + } + } + } + + if nested, ok := f.Elem.(*schema.Resource); ok { + walkSDKv2SchemaForScalarMaps(nested, path, r) + } + } +} + +func isSDKv2ScalarMap(f *schema.Schema) bool { + if f.Sensitive || f.Type != schema.TypeMap { + return false + } + + // SDKv2 permits nil for a TypeMap element when the map holds strings. + // The OCI provider uses that form in a few nested patch-operation schemas. + if f.Elem == nil { + return true + } + + var element schema.ValueType + switch typed := f.Elem.(type) { + case schema.ValueType: + element = typed + case *schema.Schema: + if typed == nil { + return false + } + element = typed.Type + default: + return false + } + + switch element { + case schema.TypeString, schema.TypeBool, schema.TypeInt, schema.TypeFloat: + return true + default: + return false + } +} + +func joinTerraformFieldPath(prefix, name string) string { + if prefix == "" { + return name + } + return strings.Join([]string{prefix, name}, ".") +} diff --git a/config/server_side_apply_test.go b/config/server_side_apply_test.go new file mode 100644 index 000000000..befb42b9d --- /dev/null +++ b/config/server_side_apply_test.go @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2026 Oracle and/or its affiliates + * + * 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 config + +import ( + "testing" + + ujconfig "github.com/crossplane/upjet/v2/pkg/config" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" +) + +func TestConfigureSDKv2ScalarMapServerSideApplyMergeStrategies(t *testing.T) { + r := &ujconfig.Resource{ + TerraformResource: &schema.Resource{Schema: map[string]*schema.Schema{ + "defined_tags": { + Type: schema.TypeMap, + Elem: schema.TypeString, + }, + "nil_element_map": { + Type: schema.TypeMap, + }, + "legacy_map": { + Type: schema.TypeMap, + Elem: &schema.Schema{Type: schema.TypeString}, + }, + "sensitive_map": { + Type: schema.TypeMap, + Elem: schema.TypeString, + Sensitive: true, + }, + "object_map": { + Type: schema.TypeMap, + Elem: &schema.Resource{Schema: map[string]*schema.Schema{ + "metadata": { + Type: schema.TypeMap, + Elem: schema.TypeString, + }, + }}, + }, + }}, + ServerSideApplyMergeStrategies: ujconfig.ServerSideApplyMergeStrategies{ + "defined_tags": { + MapMergeStrategy: ujconfig.MapTypeAtomic, + }, + }, + } + + configureSDKv2ScalarMapServerSideApplyMergeStrategiesForResource(r) + + for _, field := range []string{"nil_element_map", "legacy_map", "object_map.metadata"} { + strategy, ok := r.ServerSideApplyMergeStrategies[field] + if !ok { + t.Fatalf("%s strategy is missing", field) + } + if strategy.MapMergeStrategy != ujconfig.MapTypeGranular { + t.Fatalf("%s map merge strategy = %q, want %q", field, strategy.MapMergeStrategy, ujconfig.MapTypeGranular) + } + } + + if got := r.ServerSideApplyMergeStrategies["defined_tags"].MapMergeStrategy; got != ujconfig.MapTypeAtomic { + t.Fatalf("existing defined_tags strategy = %q, want %q", got, ujconfig.MapTypeAtomic) + } + for _, field := range []string{"sensitive_map"} { + if _, ok := r.ServerSideApplyMergeStrategies[field]; ok { + t.Fatalf("%s unexpectedly received an SDKv2 scalar map strategy", field) + } + } +} diff --git a/config/terraform_provider_nofork.go.tmpl b/config/terraform_provider_nofork.go.tmpl new file mode 100644 index 000000000..904689fbc --- /dev/null +++ b/config/terraform_provider_nofork.go.tmpl @@ -0,0 +1,35 @@ +//go:build nofork + +// This template is materialized by the no-fork patch workflow. + +/* + * Copyright (c) 2026 Oracle and/or its affiliates + * + * 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 config + +import ( + fwprovider "github.com/hashicorp/terraform-plugin-framework/provider" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + tfoci "github.com/oracle/terraform-provider-oci/oci" +) + +func terraformSDKProvider() *schema.Provider { + return tfoci.Provider() +} + +func terraformFrameworkProvider() fwprovider.Provider { + return tfoci.New() +} diff --git a/config/terraform_provider_stub.go b/config/terraform_provider_stub.go new file mode 100644 index 000000000..c6ef214f0 --- /dev/null +++ b/config/terraform_provider_stub.go @@ -0,0 +1,32 @@ +//go:build !nofork + +/* + * Copyright (c) 2026 Oracle and/or its affiliates + * + * 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 config + +import ( + fwprovider "github.com/hashicorp/terraform-plugin-framework/provider" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" +) + +func terraformSDKProvider() *schema.Provider { + panic("terraform-provider-oci is available only with -tags=nofork after the no-fork patch step") +} + +func terraformFrameworkProvider() fwprovider.Provider { + panic("terraform-provider-oci is available only with -tags=nofork after the no-fork patch step") +} diff --git a/go.mod b/go.mod index 74f2e1526..20f43af84 100644 --- a/go.mod +++ b/go.mod @@ -8,6 +8,8 @@ require ( github.com/crossplane/crossplane-runtime/v2 v2.2.0-rc.0.0.20260205155419-01366b3dbead github.com/crossplane/crossplane-tools v0.0.0-20251017183449-dd4517244339 github.com/crossplane/upjet/v2 v2.2.0 + github.com/hashicorp/terraform-json v0.25.0 + github.com/hashicorp/terraform-plugin-framework v1.15.0 github.com/hashicorp/terraform-plugin-sdk/v2 v2.37.0 github.com/pkg/errors v0.9.1 golang.org/x/text v0.37.0 @@ -72,8 +74,6 @@ require ( github.com/hashicorp/go-version v1.7.0 // indirect github.com/hashicorp/hcl/v2 v2.24.0 // indirect github.com/hashicorp/logutils v1.0.0 // indirect - github.com/hashicorp/terraform-json v0.25.0 // indirect - github.com/hashicorp/terraform-plugin-framework v1.15.0 // indirect github.com/hashicorp/terraform-plugin-go v0.28.0 // indirect github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect github.com/hashicorp/terraform-registry-address v0.2.5 // indirect diff --git a/hack/main.go.tmpl b/hack/main.go.tmpl index 4bfdecf4b..e926b1b56 100644 --- a/hack/main.go.tmpl +++ b/hack/main.go.tmpl @@ -22,6 +22,8 @@ import ( "google.golang.org/grpc/credentials/insecure" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" + crmetrics "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "sigs.k8s.io/controller-runtime/pkg/log/zap" xpcontroller "github.com/crossplane/crossplane-runtime/v2/pkg/controller" @@ -31,8 +33,8 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/customresourcesgate" "github.com/crossplane/crossplane-runtime/v2/pkg/reconciler/managed" + "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" - "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/oracle/provider-oci/apis" "github.com/oracle/provider-oci/config" @@ -43,23 +45,36 @@ import ( namespacedcontroller "github.com/oracle/provider-oci/internal/controller/namespaced" ) +var terraformProviderVersion = "8.22.0" + +func defaultProviderVersion() string { + return "provider-oci:" + terraformProviderVersion +} + func main() { var ( app = kingpin.New(filepath.Base(os.Args[0]), "OCI support for Crossplane - {{ .Group }} Service.").DefaultEnvars() debug = app.Flag("debug", "Run with debug logging.").Short('d').Bool() syncPeriod = app.Flag("sync", "Controller manager sync period such as 300ms, 1.5h, or 2h45m").Short('s').Default("1h").Duration() pollInterval = app.Flag("poll", "Poll interval controls how often an individual resource should be checked for drift.").Default("10m").Duration() + metricsBindAddress = app.Flag("metrics-bind-address", "Address the controller manager metrics endpoint binds to. Use 0 to disable metrics.").Default(":8080").Envar("METRICS_BIND_ADDRESS").String() + metricsStatePollInterval = app.Flag("metrics-state-poll", "Interval for recording managed resource state metrics.").Default("30s").Envar("METRICS_STATE_POLL").Duration() leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").Envar("LEADER_ELECTION").Bool() - terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String() - providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String() - providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String() + providerVersion = app.Flag("provider-version", "Provider version included in change log records.").Default(defaultProviderVersion()).Envar("PROVIDER_VERSION").String() maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may checked for drift from the desired state.").Default("10").Int() changelogsSocketPath = app.Flag("changelogs-socket-path", "Path for changelogs socket (if enabled).").Default("/var/run/changelogs/changelogs.sock").Envar("CHANGELOGS_SOCKET_PATH").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for ManagementPolicies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() enableChangeLogs = app.Flag("enable-changelogs", "Enable support for capturing change logs during reconciliation.").Default("false").Envar("ENABLE_CHANGE_LOGS").Bool() ) + app.Flag("terraform-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-source", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + app.Flag("terraform-provider-version", "Deprecated no-op. Terraform CLI is not used by the no-fork runtime.").Hidden().String() + kingpin.MustParse(app.Parse(os.Args[1:])) + if *metricsBindAddress != "0" && *metricsStatePollInterval <= 0 { + kingpin.Fatalf("--metrics-state-poll must be greater than 0 when metrics are enabled") + } debugValue := *debug zl := zap.New(zap.UseDevMode(debugValue)) @@ -83,6 +98,9 @@ func main() { Cache: cache.Options{ SyncPeriod: syncPeriod, }, + Metrics: metricsserver.Options{ + BindAddress: *metricsBindAddress, + }, LeaderElection: *leaderElection, LeaderElectionID: "crossplane-leader-election-provider-oci-{{ .Group }}", LeaderElectionResourceLock: resourcelock.LeasesResourceLock, @@ -93,6 +111,19 @@ func main() { kingpin.FatalIfError(apis.AddToScheme(mgr.GetScheme()), "Cannot add Oci APIs to scheme") kingpin.FatalIfError(apiextensionsv1.AddToScheme(mgr.GetScheme()), "Cannot add apiextensions APIs to scheme") kingpin.FatalIfError(resolverapis.BuildScheme(apis.AddToSchemes), "Cannot register the OCI APIs with the API resolver's runtime scheme") + + var metricOptions *xpcontroller.MetricOptions + if *metricsBindAddress != "0" { + mrMetrics := managed.NewMRMetricRecorder() + mrStateMetrics := statemetrics.NewMRStateMetrics() + crmetrics.Registry.MustRegister(mrMetrics, mrStateMetrics) + metricOptions = &xpcontroller.MetricOptions{ + PollStateMetricInterval: *metricsStatePollInterval, + MRMetrics: mrMetrics, + MRStateMetrics: mrStateMetrics, + } + } + o := tjcontroller.Options{ Options: xpcontroller.Options{ Logger: log, @@ -100,12 +131,14 @@ func main() { PollInterval: *pollInterval, MaxConcurrentReconciles: *maxReconcileRate, Features: &feature.Flags{}, + MetricOptions: metricOptions, }, Provider: config.GetProvider(), - // use the following WorkspaceStoreOption to enable the shared gRPC mode - // terraform.WithProviderRunner(terraform.NewSharedProvider(log, os.Getenv("TERRAFORM_NATIVE_PROVIDER_PATH"), terraform.WithNativeProviderArgs("-debuggable"))) - WorkspaceStore: terraform.NewWorkspaceStore(log), - SetupFn: clients.TerraformSetupBuilder(*terraformVersion, *providerSource, *providerVersion), + OperationTrackerStore: tjcontroller.NewOperationStore(log), + SetupFn: clients.TerraformSetupBuilder( + clients.WithSDKv2ResourcePredicate(config.IsSDKv2Resource), + clients.WithFrameworkProvider(config.HasFrameworkResources()), + ), } if *enableManagementPolicies { @@ -122,7 +155,7 @@ func main() { o.ChangeLogOptions = &xpcontroller.ChangeLogOptions{ ChangeLogger: managed.NewGRPCChangeLogger( changelogsv1alpha1.NewChangeLogServiceClient(conn), - managed.WithProviderVersion(*providerSource+":"+*providerVersion)), + managed.WithProviderVersion(*providerVersion)), } } diff --git a/internal/clients/oci.go b/internal/clients/oci.go index 79feb3d6e..f44c65765 100644 --- a/internal/clients/oci.go +++ b/internal/clients/oci.go @@ -5,14 +5,18 @@ Copyright 2021 Upbound Inc. package clients import ( + "container/list" "context" + "crypto/sha256" "encoding/json" + "fmt" "strings" + "sync" xpv1 "github.com/crossplane/crossplane-runtime/v2/apis/common/v1" "github.com/crossplane/crossplane-runtime/v2/pkg/meta" "github.com/crossplane/crossplane-runtime/v2/pkg/resource" - "github.com/crossplane/upjet/v2/pkg/terraform" + upjetterraform "github.com/crossplane/upjet/v2/pkg/terraform" "github.com/pkg/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kruntime "k8s.io/apimachinery/pkg/runtime" @@ -55,17 +59,45 @@ const ( credentialKeyTokenExchangePublicKey = "token_exchange_public_key" ) -// TerraformSetupBuilder builds Terraform a terraform.SetupFn function which -// returns Terraform provider setup configuration. -func TerraformSetupBuilder(version, providerSource, providerVersion string) terraform.SetupFn { - return func(ctx context.Context, kube client.Client, mg resource.Managed) (terraform.Setup, error) { - ps := terraform.Setup{ - Version: version, - Requirement: terraform.ProviderRequirement{ - Source: providerSource, - Version: providerVersion, - }, - } +type setupOptions struct { + enableFrameworkProvider bool + isSDKv2Resource func(string) bool +} + +// SetupOption customizes Terraform setup behavior. +type SetupOption func(*setupOptions) + +// WithFrameworkProvider controls whether setup returns a Plugin Framework +// provider instance for framework-routed resources. +func WithFrameworkProvider(enabled bool) SetupOption { + return func(o *setupOptions) { + o.enableFrameworkProvider = enabled + } +} + +// WithSDKv2ResourcePredicate controls which Terraform resources receive +// in-process SDKv2 provider meta. +func WithSDKv2ResourcePredicate(predicate func(string) bool) SetupOption { + return func(o *setupOptions) { + o.isSDKv2Resource = predicate + } +} + +type terraformResourceTyper interface { + GetTerraformResourceType() string +} + +// TerraformSetupBuilder builds a terraform.SetupFn for in-process no-fork +// connectors. Build-time Terraform values are intentionally not required at +// runtime when all resources are routed through SDKv2 or Framework connectors. +func TerraformSetupBuilder(opts ...SetupOption) upjetterraform.SetupFn { + options := setupOptions{} + for _, opt := range opts { + opt(&options) + } + + return func(ctx context.Context, kube client.Client, mg resource.Managed) (upjetterraform.Setup, error) { + ps := upjetterraform.Setup{} pcSpec, err := resolveProviderConfig(ctx, kube, mg) if err != nil { @@ -81,13 +113,38 @@ func TerraformSetupBuilder(version, providerSource, providerVersion string) terr return ps, errors.Wrap(err, errUnmarshalCredentials) } - ps.Configuration = terraformProviderConfig(ociCreds) + cfg := providerConfigurationFromCredentials(ociCreds) + ps.Configuration = cfg + + if options.enableFrameworkProvider { + setFrameworkProvider(&ps) + } + + if !options.shouldConfigureSDKv2Provider(mg) { + return ps, nil + } + + uid, err := resolveProviderConfigIdentity(ctx, kube, mg) + if err != nil { + return ps, fmt.Errorf("cannot resolve ProviderConfig identity: %w", err) + } + if uid == "" { + return ps, fmt.Errorf("ProviderConfig has empty UID") + } + + providerMeta, err := getOrConfigureProviderMeta(ctx, uid, cfg) + if err != nil { + return ps, fmt.Errorf("cannot get or init OCI provider: %w", err) + } + ps.Meta = providerMeta + ps.Scheduler = upjetterraform.NewNoOpProviderScheduler() + return ps, nil } } -func terraformProviderConfig(ociCreds map[string]string) terraform.ProviderConfiguration { - config := terraform.ProviderConfiguration{ +func providerConfigurationFromCredentials(ociCreds map[string]string) map[string]any { + config := map[string]any{ credentialKeyTenancyOCID: ociCreds[credentialKeyTenancyOCID], credentialKeyUserOCID: ociCreds[credentialKeyUserOCID], credentialKeyPrivateKey: ociCreds[credentialKeyPrivateKey], @@ -117,6 +174,176 @@ func terraformProviderConfig(ociCreds map[string]string) terraform.ProviderConfi return config } +func (o setupOptions) shouldConfigureSDKv2Provider(mg resource.Managed) bool { + if o.isSDKv2Resource == nil { + return false + } + tr, ok := mg.(terraformResourceTyper) + if !ok { + return false + } + return o.isSDKv2Resource(tr.GetTerraformResourceType()) +} + +func providerConfigurationHash(cfg map[string]any) (string, error) { + data, err := json.Marshal(cfg) + if err != nil { + return "", fmt.Errorf("cannot hash OCI provider configuration: %w", err) + } + return fmt.Sprintf("%x", sha256.Sum256(data)), nil +} + +const defaultProviderMetaCacheSize = 32 + +type providerMetaCacheEntry struct { + configHash string + meta any + recency *list.Element +} + +type providerMetaCache struct { + mu sync.Mutex + maxEntries int + entries map[string]*providerMetaCacheEntry + recency *list.List +} + +func newProviderMetaCache(maxEntries int) *providerMetaCache { + if maxEntries < 1 { + maxEntries = 1 + } + return &providerMetaCache{ + maxEntries: maxEntries, + entries: make(map[string]*providerMetaCacheEntry, maxEntries), + recency: list.New(), + } +} + +func (c *providerMetaCache) getOrCreate(uid, configHash string, create func() (any, error)) (any, error) { + c.mu.Lock() + defer c.mu.Unlock() + + if entry, ok := c.entries[uid]; ok && entry.configHash == configHash { + c.recency.MoveToFront(entry.recency) + return entry.meta, nil + } + + meta, err := create() + if err != nil { + return nil, err + } + + if entry, ok := c.entries[uid]; ok { + entry.configHash = configHash + entry.meta = meta + c.recency.MoveToFront(entry.recency) + return meta, nil + } + + entry := &providerMetaCacheEntry{ + configHash: configHash, + meta: meta, + recency: c.recency.PushFront(uid), + } + c.entries[uid] = entry + c.evictOverflow() + return meta, nil +} + +func (c *providerMetaCache) evictOverflow() { + for len(c.entries) > c.maxEntries { + oldest := c.recency.Back() + if oldest == nil { + return + } + delete(c.entries, oldest.Value.(string)) + c.recency.Remove(oldest) + } +} + +func resolveProviderConfigIdentity(ctx context.Context, kube client.Client, mg resource.Managed) (string, error) { + switch managed := mg.(type) { + case resource.LegacyManaged: + return resolveLegacyProviderConfigIdentity(ctx, kube, managed) + case resource.ModernManaged: + if isNamespacedModernManaged(managed) { + return resolveNamespacedProviderConfigIdentity(ctx, kube, managed) + } + return resolveClusterProviderConfigIdentityForModernMR(ctx, kube, managed) + default: + return "", errors.New(errUnsupportedManaged) + } +} + +func resolveLegacyProviderConfigIdentity(ctx context.Context, kube client.Client, mg resource.LegacyManaged) (string, error) { + configRef := mg.GetProviderConfigReference() + if configRef == nil { + return "", errors.New(errNoProviderConfig) + } + + pc := &clusterv1beta1.ProviderConfig{} + if err := kube.Get(ctx, types.NamespacedName{Name: configRef.Name}, pc); err != nil { + return "", errors.Wrap(err, errGetProviderConfig) + } + return string(pc.GetUID()), nil +} + +func resolveClusterProviderConfigIdentityForModernMR(ctx context.Context, kube client.Client, mg resource.ModernManaged) (string, error) { + configRef := mg.GetProviderConfigReference() + if configRef == nil || configRef.Name == "" { + return "", errors.New(errNoProviderConfig) + } + + kind := configRef.Kind + if kind == "" { + kind = clusterv1beta1.ProviderConfigGroupVersionKind.Kind + } + if kind != clusterv1beta1.ProviderConfigGroupVersionKind.Kind && kind != namespacedv1beta1.ClusterProviderConfigKind { + return "", errors.Wrap(errors.New(kind), errUnsupportedProviderCfgKind) + } + + pc := &clusterv1beta1.ProviderConfig{} + if err := kube.Get(ctx, types.NamespacedName{Name: configRef.Name}, pc); err != nil { + return "", errors.Wrap(err, errGetProviderConfig) + } + return string(pc.GetUID()), nil +} + +func resolveNamespacedProviderConfigIdentity(ctx context.Context, kube client.Client, mg resource.ModernManaged) (string, error) { + configRef := mg.GetProviderConfigReference() + if configRef == nil || configRef.Name == "" { + return "", errors.New(errNoProviderConfig) + } + + kind := configRef.Kind + if kind == "" { + kind = namespacedv1beta1.ClusterProviderConfigKind + } + switch kind { + case namespacedv1beta1.ProviderConfigKind, namespacedv1beta1.ClusterProviderConfigKind: + default: + return "", errors.Wrap(errors.New(kind), errUnsupportedProviderCfgKind) + } + + pcRuntimeObj, err := kube.Scheme().New(namespacedv1beta1.SchemeGroupVersion.WithKind(kind)) + if err != nil { + return "", errors.Wrap(err, errUnsupportedProviderCfgKind) + } + pcObj, ok := pcRuntimeObj.(client.Object) + if !ok { + return "", errors.New(errUnsupportedProviderCfgKind) + } + + key := types.NamespacedName{Name: configRef.Name} + if kind == namespacedv1beta1.ProviderConfigKind { + key.Namespace = mg.GetNamespace() + } + if err := kube.Get(ctx, key, pcObj); err != nil { + return "", errors.Wrap(err, errGetProviderConfig) + } + return string(pcObj.GetUID()), nil +} + func resolveProviderConfig(ctx context.Context, kube client.Client, mg resource.Managed) (*namespacedv1beta1.ProviderConfigSpec, error) { switch managed := mg.(type) { case resource.LegacyManaged: diff --git a/internal/clients/oci_provider_nofork.go.tmpl b/internal/clients/oci_provider_nofork.go.tmpl new file mode 100644 index 000000000..0d61a9bec --- /dev/null +++ b/internal/clients/oci_provider_nofork.go.tmpl @@ -0,0 +1,43 @@ +//go:build nofork + +// This template is materialized by the no-fork patch workflow. + +/* +Copyright 2026 Oracle and/or its affiliates. +*/ + +package clients + +import ( + "context" + "fmt" + + upjetterraform "github.com/crossplane/upjet/v2/pkg/terraform" + sdkterraform "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + ociprovider "github.com/oracle/terraform-provider-oci/oci" +) + +var sdkV2ProviderMetaCache = newProviderMetaCache(defaultProviderMetaCacheSize) + +func setFrameworkProvider(ps *upjetterraform.Setup) { + ps.FrameworkProvider = ociprovider.New() +} + +func getOrConfigureProviderMeta(ctx context.Context, uid string, cfg map[string]any) (any, error) { + cfgHash, err := providerConfigurationHash(cfg) + if err != nil { + return nil, err + } + return sdkV2ProviderMetaCache.getOrCreate(uid, cfgHash, func() (any, error) { + p := ociprovider.Provider() + diags := p.Configure(ctx, sdkterraform.NewResourceConfigRaw(cfg)) + if diags.HasError() { + return nil, fmt.Errorf("cannot configure OCI provider: %v", diags) + } + providerMeta := p.Meta() + if providerMeta == nil { + return nil, fmt.Errorf("OCI provider Configure succeeded but returned nil meta") + } + return providerMeta, nil + }) +} diff --git a/internal/clients/oci_provider_stub.go b/internal/clients/oci_provider_stub.go new file mode 100644 index 000000000..9dca96bf0 --- /dev/null +++ b/internal/clients/oci_provider_stub.go @@ -0,0 +1,22 @@ +//go:build !nofork + +/* +Copyright 2026 Oracle and/or its affiliates. +*/ + +package clients + +import ( + "context" + "errors" + + upjetterraform "github.com/crossplane/upjet/v2/pkg/terraform" +) + +func setFrameworkProvider(_ *upjetterraform.Setup) { + panic("terraform-provider-oci is available only with -tags=nofork after the no-fork patch step") +} + +func getOrConfigureProviderMeta(_ context.Context, _ string, _ map[string]any) (any, error) { + return nil, errors.New("terraform-provider-oci is available only with -tags=nofork after the no-fork patch step") +} diff --git a/internal/clients/oci_test.go b/internal/clients/oci_test.go index eb1dddb9c..a7f51f8fe 100644 --- a/internal/clients/oci_test.go +++ b/internal/clients/oci_test.go @@ -1,78 +1,327 @@ +/* +Copyright 2026 Oracle and/or its affiliates. +*/ + package clients -import "testing" +import ( + "errors" + "sync" + "sync/atomic" + "testing" + + "github.com/crossplane/crossplane-runtime/v2/pkg/resource/fake" +) -func TestTerraformProviderConfigIncludesWorkloadIdentityFederation(t *testing.T) { +type typedManaged struct { + fake.Managed + tfType string +} + +func (m *typedManaged) GetTerraformResourceType() string { + return m.tfType +} + +func TestShouldConfigureSDKv2Provider(t *testing.T) { + tests := map[string]struct { + options setupOptions + mg *typedManaged + want bool + }{ + "default skips SDKv2 provider setup": { + options: setupOptions{}, + mg: &typedManaged{tfType: "oci_budget_budget"}, + want: false, + }, + "predicate match enables SDKv2 provider setup": { + options: setupOptions{isSDKv2Resource: func(name string) bool { + return name == "oci_budget_budget" + }}, + mg: &typedManaged{tfType: "oci_budget_budget"}, + want: true, + }, + "predicate miss skips SDKv2 provider setup": { + options: setupOptions{isSDKv2Resource: func(name string) bool { + return name == "oci_budget_budget" + }}, + mg: &typedManaged{tfType: "oci_objectstorage_bucket"}, + want: false, + }, + } + + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + got := tc.options.shouldConfigureSDKv2Provider(tc.mg) + if got != tc.want { + t.Fatalf("shouldConfigureSDKv2Provider() = %t, want %t", got, tc.want) + } + }) + } +} + +func TestShouldConfigureSDKv2ProviderSkipsUnknownResourceType(t *testing.T) { + options := setupOptions{isSDKv2Resource: func(string) bool { + return true + }} + if options.shouldConfigureSDKv2Provider(&fake.Managed{}) { + t.Fatal("shouldConfigureSDKv2Provider() = true, want false for managed resource without Terraform resource type") + } +} + +func TestProviderConfigurationFromCredentialsIncludesOnlyNoForkSafeKeys(t *testing.T) { creds := map[string]string{ - credentialKeyTenancyOCID: "ocid1.tenancy.oc1..example", - credentialKeyUserOCID: "ocid1.user.oc1..example", - credentialKeyPrivateKey: "private-key", - credentialKeyPrivateKeyPath: "/keys/oci.pem", - credentialKeyFingerprint: "fingerprint", - credentialKeyRegion: "us-ashburn-1", - credentialKeyAuth: "WorkloadIdentityFederation", - credentialKeyConfigFileProfile: "DEFAULT", - credentialKeyWorkloadIdentityTokenPath: "/var/run/secrets/tokens/oci", - credentialKeyTokenExchangeDomainURL: "https://idcs.example.com", - credentialKeyTokenExchangeAuth: "OAuthClientCredentials", - credentialKeyTokenExchangeClientID: "client-id", - credentialKeyTokenExchangeClientSecret: "client-secret", - credentialKeyTokenExchangeRequestedTokenType: "urn:oci:token-type:oci-rpst", - credentialKeyTokenExchangeSubjectTokenType: "jwt", - credentialKeyTokenExchangeResourceType: "k8sworkload", - credentialKeyTokenExchangeRPSTExpiration: "3600", - credentialKeyTokenExchangePublicKey: "public-key", - } - - cfg := terraformProviderConfig(creds) - - for key, want := range creds { + "tenancy_ocid": "tenancy", + "user_ocid": "user", + "private_key": "key", + "private_key_path": "path", + "fingerprint": "fingerprint", + "region": "us-ashburn-1", + "auth": "api_key", + "config_file_profile": "DEFAULT", + "disable_auto_retries": "true", + } + + cfg := providerConfigurationFromCredentials(creds) + wantKeys := map[string]string{ + "tenancy_ocid": "tenancy", + "user_ocid": "user", + "private_key": "key", + "private_key_path": "path", + "fingerprint": "fingerprint", + "region": "us-ashburn-1", + "auth": "api_key", + "config_file_profile": "DEFAULT", + } + + if len(cfg) != len(wantKeys) { + t.Fatalf("providerConfigurationFromCredentials() returned %d keys, want %d: %v", len(cfg), len(wantKeys), cfg) + } + for key, want := range wantKeys { if got := cfg[key]; got != want { - t.Fatalf("cfg[%q] = %v, want %q", key, got, want) + t.Fatalf("providerConfigurationFromCredentials()[%q] = %v, want %q", key, got, want) + } + } + + unsafeProviderGlobalKeys := []string{ + "disable_auto_retries", + "retry_duration_seconds", + "retries_config_file", + "ignore_defined_tags", + "realm_specific_service_endpoint_template_enabled", + "dual_stack_endpoint_enabled", + } + for _, key := range unsafeProviderGlobalKeys { + if _, ok := cfg[key]; ok { + t.Fatalf("providerConfigurationFromCredentials() included unsafe no-fork provider-global key %q", key) } } } -func TestTerraformProviderConfigOmitsUnsetInstancePrincipalCredentials(t *testing.T) { - creds := map[string]string{ - credentialKeyTenancyOCID: "ocid1.tenancy.oc1..example", - credentialKeyAuth: "InstancePrincipal", - credentialKeyRegion: "us-ashburn-1", +func TestProviderConfigurationFromCredentialsSupportsAuthenticationModes(t *testing.T) { + tests := map[string]map[string]string{ + "workload identity federation": { + credentialKeyTenancyOCID: "ocid1.tenancy.oc1..example", + credentialKeyAuth: "WorkloadIdentityFederation", + credentialKeyRegion: "us-ashburn-1", + credentialKeyWorkloadIdentityTokenPath: "/var/run/secrets/tokens/oci", + credentialKeyTokenExchangeDomainURL: "https://idcs.example.com", + credentialKeyTokenExchangeAuth: "OAuthClientCredentials", + credentialKeyTokenExchangeClientID: "client-id", + credentialKeyTokenExchangeClientSecret: "client-secret", + credentialKeyTokenExchangeRequestedTokenType: "urn:oci:token-type:oci-rpst", + credentialKeyTokenExchangeSubjectTokenType: "jwt", + credentialKeyTokenExchangeResourceType: "k8sworkload", + credentialKeyTokenExchangeRPSTExpiration: "3600", + credentialKeyTokenExchangePublicKey: "public-key", + }, + "instance principal": { + credentialKeyTenancyOCID: "ocid1.tenancy.oc1..example", + credentialKeyAuth: "InstancePrincipal", + credentialKeyRegion: "us-ashburn-1", + }, + "OKE workload identity": { + credentialKeyTenancyOCID: "ocid1.tenancy.oc1..example", + credentialKeyAuth: "OKEWorkloadIdentity", + credentialKeyRegion: "us-ashburn-1", + }, } - cfg := terraformProviderConfig(creds) + for name, creds := range tests { + t.Run(name, func(t *testing.T) { + cfg := providerConfigurationFromCredentials(creds) + if len(cfg) != len(creds) { + t.Fatalf("configuration contains %d keys, want %d: %v", len(cfg), len(creds), cfg) + } + for key, want := range creds { + if got, ok := cfg[key]; !ok || got != want { + t.Fatalf("configuration[%q] = %v, %t, want %q, true", key, got, ok, want) + } + } + if _, ok := cfg[credentialKeyTokenExchangeAuth]; name != "workload identity federation" && ok { + t.Fatalf("configuration unexpectedly includes %q", credentialKeyTokenExchangeAuth) + } + }) + } +} - if len(cfg) != len(creds) { - t.Fatalf("len(cfg) = %d, want %d", len(cfg), len(creds)) +func TestProviderConfigurationHash(t *testing.T) { + base := map[string]any{ + "region": "us-ashburn-1", + "tenancy_ocid": "tenancy-a", } - for key, want := range creds { - if got, ok := cfg[key]; !ok || got != want { - t.Fatalf("cfg[%q] = %v, %t, want %q, true", key, got, ok, want) - } + reordered := map[string]any{ + "tenancy_ocid": "tenancy-a", + "region": "us-ashburn-1", + } + rotated := map[string]any{ + "region": "us-ashburn-1", + "tenancy_ocid": "tenancy-b", + } + + baseHash, err := providerConfigurationHash(base) + if err != nil { + t.Fatalf("providerConfigurationHash(base) error: %v", err) + } + reorderedHash, err := providerConfigurationHash(reordered) + if err != nil { + t.Fatalf("providerConfigurationHash(reordered) error: %v", err) + } + rotatedHash, err := providerConfigurationHash(rotated) + if err != nil { + t.Fatalf("providerConfigurationHash(rotated) error: %v", err) + } + + if baseHash != reorderedHash { + t.Fatalf("providerConfigurationHash() changed with map order: %q != %q", baseHash, reorderedHash) } - if _, ok := cfg[credentialKeyTokenExchangeAuth]; ok { - t.Fatalf("cfg unexpectedly includes %q", credentialKeyTokenExchangeAuth) + if baseHash == rotatedHash { + t.Fatal("providerConfigurationHash() did not change after provider configuration changed") } } -func TestTerraformProviderConfigOmitsUnsetOKEWorkloadIdentityCredentials(t *testing.T) { - creds := map[string]string{ - credentialKeyTenancyOCID: "ocid1.tenancy.oc1..example", - credentialKeyAuth: "OKEWorkloadIdentity", - credentialKeyRegion: "us-ashburn-1", +func TestProviderMetaCacheReusesUnchangedConfiguration(t *testing.T) { + cache := newProviderMetaCache(2) + var creates atomic.Int32 + create := func() (any, error) { + return creates.Add(1), nil + } + + first, err := cache.getOrCreate("uid-a", "hash-a", create) + if err != nil { + t.Fatal(err) + } + second, err := cache.getOrCreate("uid-a", "hash-a", create) + if err != nil { + t.Fatal(err) + } + if first != second { + t.Fatalf("cache returned different metadata: %v != %v", first, second) + } + if got := creates.Load(); got != 1 { + t.Fatalf("provider creation count = %d, want 1", got) + } +} + +func TestProviderMetaCacheReplacesChangedConfiguration(t *testing.T) { + cache := newProviderMetaCache(2) + var creates atomic.Int32 + create := func() (any, error) { + return creates.Add(1), nil + } + + first, err := cache.getOrCreate("uid-a", "hash-a", create) + if err != nil { + t.Fatal(err) + } + second, err := cache.getOrCreate("uid-a", "hash-b", create) + if err != nil { + t.Fatal(err) + } + if first == second { + t.Fatalf("cache reused metadata after configuration change: %v", first) + } + if len(cache.entries) != 1 { + t.Fatalf("cache entry count = %d, want 1", len(cache.entries)) + } +} + +func TestProviderMetaCachePreservesPreviousEntryWhenCreationFails(t *testing.T) { + cache := newProviderMetaCache(2) + want := new(int) + if _, err := cache.getOrCreate("uid-a", "hash-a", func() (any, error) { + return want, nil + }); err != nil { + t.Fatal(err) } - cfg := terraformProviderConfig(creds) + wantErr := errors.New("configure failed") + if _, err := cache.getOrCreate("uid-a", "hash-b", func() (any, error) { + return nil, wantErr + }); !errors.Is(err, wantErr) { + t.Fatalf("getOrCreate() error = %v, want %v", err, wantErr) + } + entry := cache.entries["uid-a"] + if entry.configHash != "hash-a" || entry.meta != want { + t.Fatalf("previous entry changed after failed creation: %#v", entry) + } +} + +func TestProviderMetaCacheEvictsLeastRecentlyUsedEntry(t *testing.T) { + cache := newProviderMetaCache(2) + create := func(value string) func() (any, error) { + return func() (any, error) { return value, nil } + } - if len(cfg) != len(creds) { - t.Fatalf("len(cfg) = %d, want %d", len(cfg), len(creds)) + if _, err := cache.getOrCreate("uid-a", "hash-a", create("a")); err != nil { + t.Fatal(err) } - for key, want := range creds { - if got, ok := cfg[key]; !ok || got != want { - t.Fatalf("cfg[%q] = %v, %t, want %q, true", key, got, ok, want) + if _, err := cache.getOrCreate("uid-b", "hash-b", create("b")); err != nil { + t.Fatal(err) + } + if _, err := cache.getOrCreate("uid-a", "hash-a", create("unused")); err != nil { + t.Fatal(err) + } + if _, err := cache.getOrCreate("uid-c", "hash-c", create("c")); err != nil { + t.Fatal(err) + } + + if _, ok := cache.entries["uid-b"]; ok { + t.Fatal("least recently used entry uid-b was not evicted") + } + if len(cache.entries) != 2 { + t.Fatalf("cache entry count = %d, want 2", len(cache.entries)) + } +} + +func TestProviderMetaCacheCoalescesConcurrentCreation(t *testing.T) { + cache := newProviderMetaCache(2) + var creates atomic.Int32 + create := func() (any, error) { + return creates.Add(1), nil + } + + const callers = 16 + var wg sync.WaitGroup + results := make(chan any, callers) + for range callers { + wg.Go(func() { + meta, err := cache.getOrCreate("uid-a", "hash-a", create) + if err != nil { + t.Errorf("getOrCreate() error: %v", err) + return + } + results <- meta + }) + } + wg.Wait() + close(results) + + for meta := range results { + if meta != int32(1) { + t.Fatalf("cache metadata = %v, want 1", meta) } } - if _, ok := cfg[credentialKeyTokenExchangeAuth]; ok { - t.Fatalf("cfg unexpectedly includes %q", credentialKeyTokenExchangeAuth) + if got := creates.Load(); got != 1 { + t.Fatalf("provider creation count = %d, want 1", got) } } diff --git a/internal/controller/cluster/adm/knowledgebase/zz_controller.go b/internal/controller/cluster/adm/knowledgebase/zz_controller.go index 0553af3a2..1fb6bdaa8 100755 --- a/internal/controller/cluster/adm/knowledgebase/zz_controller.go +++ b/internal/controller/cluster/adm/knowledgebase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KnowledgeBase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KnowledgeBase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KnowledgeBase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KnowledgeBase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_adm_knowledge_base"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_adm_knowledge_base"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KnowledgeBase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/adm/remediationrecipe/zz_controller.go b/internal/controller/cluster/adm/remediationrecipe/zz_controller.go index e877f79e5..282e34f10 100755 --- a/internal/controller/cluster/adm/remediationrecipe/zz_controller.go +++ b/internal/controller/cluster/adm/remediationrecipe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RemediationRecipe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RemediationRecipe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RemediationRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RemediationRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_adm_remediation_recipe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_adm_remediation_recipe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RemediationRecipe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/adm/remediationrun/zz_controller.go b/internal/controller/cluster/adm/remediationrun/zz_controller.go index 253ebdc05..cf8911877 100755 --- a/internal/controller/cluster/adm/remediationrun/zz_controller.go +++ b/internal/controller/cluster/adm/remediationrun/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RemediationRun_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RemediationRun_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RemediationRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RemediationRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_adm_remediation_run"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_adm_remediation_run"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RemediationRun_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/adm/vulnerabilityaudit/zz_controller.go b/internal/controller/cluster/adm/vulnerabilityaudit/zz_controller.go index e1c8c7c14..e39951b42 100755 --- a/internal/controller/cluster/adm/vulnerabilityaudit/zz_controller.go +++ b/internal/controller/cluster/adm/vulnerabilityaudit/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VulnerabilityAudit_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VulnerabilityAudit_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VulnerabilityAudit_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VulnerabilityAudit_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_adm_vulnerability_audit"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_adm_vulnerability_audit"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VulnerabilityAudit_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/aidataplatform/aidataplatform/zz_controller.go b/internal/controller/cluster/aidataplatform/aidataplatform/zz_controller.go index 1b02e8cb4..f13cc5c39 100755 --- a/internal/controller/cluster/aidataplatform/aidataplatform/zz_controller.go +++ b/internal/controller/cluster/aidataplatform/aidataplatform/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AiDataPlatform_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AiDataPlatform_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AiDataPlatform_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AiDataPlatform_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_data_platform_ai_data_platform"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_data_platform_ai_data_platform"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AiDataPlatform_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/aidocument/model/zz_controller.go b/internal/controller/cluster/aidocument/model/zz_controller.go index e81d1289d..326bfa0ed 100755 --- a/internal/controller/cluster/aidocument/model/zz_controller.go +++ b/internal/controller/cluster/aidocument/model/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Model_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Model_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_document_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_document_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Model_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/aidocument/processorjob/zz_controller.go b/internal/controller/cluster/aidocument/processorjob/zz_controller.go index 50f805382..a075a1cfa 100755 --- a/internal/controller/cluster/aidocument/processorjob/zz_controller.go +++ b/internal/controller/cluster/aidocument/processorjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProcessorJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProcessorJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProcessorJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProcessorJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_document_processor_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_document_processor_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProcessorJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/aidocument/project/zz_controller.go b/internal/controller/cluster/aidocument/project/zz_controller.go index c7df6d80b..f837153ed 100755 --- a/internal/controller/cluster/aidocument/project/zz_controller.go +++ b/internal/controller/cluster/aidocument/project/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Project_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Project_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_document_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_document_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Project_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ailanguage/endpoint/zz_controller.go b/internal/controller/cluster/ailanguage/endpoint/zz_controller.go index 89bc9485b..f1c810f3e 100755 --- a/internal/controller/cluster/ailanguage/endpoint/zz_controller.go +++ b/internal/controller/cluster/ailanguage/endpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Endpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Endpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Endpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Endpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_language_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_language_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Endpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ailanguage/job/zz_controller.go b/internal/controller/cluster/ailanguage/job/zz_controller.go index 0c3a62f76..0290a14ed 100755 --- a/internal/controller/cluster/ailanguage/job/zz_controller.go +++ b/internal/controller/cluster/ailanguage/job/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Job_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Job_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Job_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Job_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_language_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_language_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Job_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ailanguage/model/zz_controller.go b/internal/controller/cluster/ailanguage/model/zz_controller.go index 8b3da830e..605b39f9a 100755 --- a/internal/controller/cluster/ailanguage/model/zz_controller.go +++ b/internal/controller/cluster/ailanguage/model/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Model_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Model_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_language_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_language_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Model_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ailanguage/project/zz_controller.go b/internal/controller/cluster/ailanguage/project/zz_controller.go index 61c60c749..cdc15692c 100755 --- a/internal/controller/cluster/ailanguage/project/zz_controller.go +++ b/internal/controller/cluster/ailanguage/project/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Project_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Project_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_language_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_language_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Project_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/aivision/model/zz_controller.go b/internal/controller/cluster/aivision/model/zz_controller.go index 448dba8bf..10ae165b1 100755 --- a/internal/controller/cluster/aivision/model/zz_controller.go +++ b/internal/controller/cluster/aivision/model/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Model_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Model_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Model_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/aivision/project/zz_controller.go b/internal/controller/cluster/aivision/project/zz_controller.go index bc365be30..c3b6e628f 100755 --- a/internal/controller/cluster/aivision/project/zz_controller.go +++ b/internal/controller/cluster/aivision/project/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Project_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Project_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Project_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/aivision/streamgroup/zz_controller.go b/internal/controller/cluster/aivision/streamgroup/zz_controller.go index 1ce8b9eb0..730ce8416 100755 --- a/internal/controller/cluster/aivision/streamgroup/zz_controller.go +++ b/internal/controller/cluster/aivision/streamgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_stream_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_stream_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/aivision/streamjob/zz_controller.go b/internal/controller/cluster/aivision/streamjob/zz_controller.go index 80686347a..4beb4da63 100755 --- a/internal/controller/cluster/aivision/streamjob/zz_controller.go +++ b/internal/controller/cluster/aivision/streamjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_stream_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_stream_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/aivision/streamsource/zz_controller.go b/internal/controller/cluster/aivision/streamsource/zz_controller.go index f7fd5b8df..81de30ac6 100755 --- a/internal/controller/cluster/aivision/streamsource/zz_controller.go +++ b/internal/controller/cluster/aivision/streamsource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_stream_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_stream_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/aivision/visionprivateendpoint/zz_controller.go b/internal/controller/cluster/aivision/visionprivateendpoint/zz_controller.go index a0b3f7295..6e9873867 100755 --- a/internal/controller/cluster/aivision/visionprivateendpoint/zz_controller.go +++ b/internal/controller/cluster/aivision/visionprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VisionPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VisionPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VisionPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VisionPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_vision_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_vision_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VisionPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/analytics/analyticsinstance/zz_controller.go b/internal/controller/cluster/analytics/analyticsinstance/zz_controller.go index ebd508191..b4964fd24 100755 --- a/internal/controller/cluster/analytics/analyticsinstance/zz_controller.go +++ b/internal/controller/cluster/analytics/analyticsinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnalyticsInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnalyticsInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyticsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyticsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_analytics_analytics_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_analytics_analytics_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnalyticsInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/analytics/analyticsinstanceprivateaccesschannel/zz_controller.go b/internal/controller/cluster/analytics/analyticsinstanceprivateaccesschannel/zz_controller.go index 5a8750e5e..869fef47c 100755 --- a/internal/controller/cluster/analytics/analyticsinstanceprivateaccesschannel/zz_controller.go +++ b/internal/controller/cluster/analytics/analyticsinstanceprivateaccesschannel/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnalyticsInstancePrivateAccessChannel_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnalyticsInstancePrivateAccessChannel_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyticsInstancePrivateAccessChannel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyticsInstancePrivateAccessChannel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_analytics_analytics_instance_private_access_channel"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_analytics_analytics_instance_private_access_channel"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnalyticsInstancePrivateAccessChannel_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/analytics/analyticsinstancevanityurl/zz_controller.go b/internal/controller/cluster/analytics/analyticsinstancevanityurl/zz_controller.go index 7eafe586e..77bdc1924 100755 --- a/internal/controller/cluster/analytics/analyticsinstancevanityurl/zz_controller.go +++ b/internal/controller/cluster/analytics/analyticsinstancevanityurl/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnalyticsInstanceVanityUrl_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnalyticsInstanceVanityUrl_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyticsInstanceVanityUrl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyticsInstanceVanityUrl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_analytics_analytics_instance_vanity_url"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_analytics_analytics_instance_vanity_url"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnalyticsInstanceVanityUrl_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/announcementsservice/announcementsubscription/zz_controller.go b/internal/controller/cluster/announcementsservice/announcementsubscription/zz_controller.go index 1d1dda369..0ed72c559 100755 --- a/internal/controller/cluster/announcementsservice/announcementsubscription/zz_controller.go +++ b/internal/controller/cluster/announcementsservice/announcementsubscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnnouncementSubscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnnouncementSubscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnnouncementSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnnouncementSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_announcements_service_announcement_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_announcements_service_announcement_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnnouncementSubscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/announcementsservice/announcementsubscriptionsactionschangecompartment/zz_controller.go b/internal/controller/cluster/announcementsservice/announcementsubscriptionsactionschangecompartment/zz_controller.go index 637d01f40..aca7a1f69 100755 --- a/internal/controller/cluster/announcementsservice/announcementsubscriptionsactionschangecompartment/zz_controller.go +++ b/internal/controller/cluster/announcementsservice/announcementsubscriptionsactionschangecompartment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnnouncementSubscriptionsActionsChangeCompartment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnnouncementSubscriptionsActionsChangeCompartment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnnouncementSubscriptionsActionsChangeCompartment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnnouncementSubscriptionsActionsChangeCompartment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_announcements_service_announcement_subscriptions_actions_change_compartment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_announcements_service_announcement_subscriptions_actions_change_compartment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnnouncementSubscriptionsActionsChangeCompartment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/announcementsservice/announcementsubscriptionsfiltergroup/zz_controller.go b/internal/controller/cluster/announcementsservice/announcementsubscriptionsfiltergroup/zz_controller.go index 552bb4224..78711c98c 100755 --- a/internal/controller/cluster/announcementsservice/announcementsubscriptionsfiltergroup/zz_controller.go +++ b/internal/controller/cluster/announcementsservice/announcementsubscriptionsfiltergroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnnouncementSubscriptionsFilterGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnnouncementSubscriptionsFilterGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnnouncementSubscriptionsFilterGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnnouncementSubscriptionsFilterGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_announcements_service_announcement_subscriptions_filter_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_announcements_service_announcement_subscriptions_filter_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnnouncementSubscriptionsFilterGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apiaccesscontrol/privilegedapicontrol/zz_controller.go b/internal/controller/cluster/apiaccesscontrol/privilegedapicontrol/zz_controller.go index b4335457a..5d7945163 100755 --- a/internal/controller/cluster/apiaccesscontrol/privilegedapicontrol/zz_controller.go +++ b/internal/controller/cluster/apiaccesscontrol/privilegedapicontrol/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivilegedApiControl_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivilegedApiControl_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivilegedApiControl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivilegedApiControl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apiaccesscontrol_privileged_api_control"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apiaccesscontrol_privileged_api_control"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivilegedApiControl_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apiaccesscontrol/privilegedapirequest/zz_controller.go b/internal/controller/cluster/apiaccesscontrol/privilegedapirequest/zz_controller.go index 9f55258b4..e50fc6274 100755 --- a/internal/controller/cluster/apiaccesscontrol/privilegedapirequest/zz_controller.go +++ b/internal/controller/cluster/apiaccesscontrol/privilegedapirequest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivilegedApiRequest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivilegedApiRequest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivilegedApiRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivilegedApiRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apiaccesscontrol_privileged_api_request"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apiaccesscontrol_privileged_api_request"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivilegedApiRequest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apigateway/api/zz_controller.go b/internal/controller/cluster/apigateway/api/zz_controller.go index dfdc3aeef..13a2b36f2 100755 --- a/internal/controller/cluster/apigateway/api/zz_controller.go +++ b/internal/controller/cluster/apigateway/api/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Api_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Api_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Api_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Api_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apigateway_api"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apigateway_api"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Api_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apigateway/certificate/zz_controller.go b/internal/controller/cluster/apigateway/certificate/zz_controller.go index 02325b201..5066d89b9 100755 --- a/internal/controller/cluster/apigateway/certificate/zz_controller.go +++ b/internal/controller/cluster/apigateway/certificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Certificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Certificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apigateway_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apigateway_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Certificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apigateway/deployment/zz_controller.go b/internal/controller/cluster/apigateway/deployment/zz_controller.go index 844851539..4df3420c5 100755 --- a/internal/controller/cluster/apigateway/deployment/zz_controller.go +++ b/internal/controller/cluster/apigateway/deployment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Deployment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Deployment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Deployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Deployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apigateway_deployment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apigateway_deployment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Deployment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apigateway/gateway/zz_controller.go b/internal/controller/cluster/apigateway/gateway/zz_controller.go index f2604d0db..c0396b94d 100755 --- a/internal/controller/cluster/apigateway/gateway/zz_controller.go +++ b/internal/controller/cluster/apigateway/gateway/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Gateway_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Gateway_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Gateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Gateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apigateway_gateway"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apigateway_gateway"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Gateway_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apigateway/subscriber/zz_controller.go b/internal/controller/cluster/apigateway/subscriber/zz_controller.go index fa461c258..c0c757c8a 100755 --- a/internal/controller/cluster/apigateway/subscriber/zz_controller.go +++ b/internal/controller/cluster/apigateway/subscriber/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Subscriber_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Subscriber_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscriber_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscriber_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apigateway_subscriber"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apigateway_subscriber"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Subscriber_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apigateway/usageplan/zz_controller.go b/internal/controller/cluster/apigateway/usageplan/zz_controller.go index 146b5bc8c..a471e239c 100755 --- a/internal/controller/cluster/apigateway/usageplan/zz_controller.go +++ b/internal/controller/cluster/apigateway/usageplan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UsagePlan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UsagePlan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsagePlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsagePlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apigateway_usage_plan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apigateway_usage_plan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UsagePlan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apiplatform/apiplatforminstance/zz_controller.go b/internal/controller/cluster/apiplatform/apiplatforminstance/zz_controller.go index 1c027c52b..ac2af034f 100755 --- a/internal/controller/cluster/apiplatform/apiplatforminstance/zz_controller.go +++ b/internal/controller/cluster/apiplatform/apiplatforminstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApiPlatformInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApiPlatformInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApiPlatformInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApiPlatformInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_api_platform_api_platform_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_api_platform_api_platform_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApiPlatformInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apm/apmdomain/zz_controller.go b/internal/controller/cluster/apm/apmdomain/zz_controller.go index 396fb5711..2a67099c3 100755 --- a/internal/controller/cluster/apm/apmdomain/zz_controller.go +++ b/internal/controller/cluster/apm/apmdomain/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApmDomain_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApmDomain_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApmDomain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApmDomain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_apm_domain"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_apm_domain"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApmDomain_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apmconfig/config/zz_controller.go b/internal/controller/cluster/apmconfig/config/zz_controller.go index 18a881e08..d772096ea 100755 --- a/internal/controller/cluster/apmconfig/config/zz_controller.go +++ b/internal/controller/cluster/apmconfig/config/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Config_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Config_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Config_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Config_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_config_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_config_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Config_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apmconfig/datafile/zz_controller.go b/internal/controller/cluster/apmconfig/datafile/zz_controller.go index 784a123c5..f0aa94421 100755 --- a/internal/controller/cluster/apmconfig/datafile/zz_controller.go +++ b/internal/controller/cluster/apmconfig/datafile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataFile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataFile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataFile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataFile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_config_data_file"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_config_data_file"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataFile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apmsynthetics/dedicatedvantagepoint/zz_controller.go b/internal/controller/cluster/apmsynthetics/dedicatedvantagepoint/zz_controller.go index d91b278a8..fdc7972a2 100755 --- a/internal/controller/cluster/apmsynthetics/dedicatedvantagepoint/zz_controller.go +++ b/internal/controller/cluster/apmsynthetics/dedicatedvantagepoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DedicatedVantagePoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DedicatedVantagePoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DedicatedVantagePoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DedicatedVantagePoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_dedicated_vantage_point"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_dedicated_vantage_point"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DedicatedVantagePoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apmsynthetics/monitor/zz_controller.go b/internal/controller/cluster/apmsynthetics/monitor/zz_controller.go index 6a6bd8618..5066fe216 100755 --- a/internal/controller/cluster/apmsynthetics/monitor/zz_controller.go +++ b/internal/controller/cluster/apmsynthetics/monitor/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Monitor_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Monitor_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Monitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Monitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_monitor"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_monitor"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Monitor_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apmsynthetics/onpremisevantagepoint/zz_controller.go b/internal/controller/cluster/apmsynthetics/onpremisevantagepoint/zz_controller.go index eb8893694..a6f1b4988 100755 --- a/internal/controller/cluster/apmsynthetics/onpremisevantagepoint/zz_controller.go +++ b/internal/controller/cluster/apmsynthetics/onpremisevantagepoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OnPremiseVantagePoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OnPremiseVantagePoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OnPremiseVantagePoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OnPremiseVantagePoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_on_premise_vantage_point"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_on_premise_vantage_point"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OnPremiseVantagePoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apmsynthetics/onpremisevantagepointworker/zz_controller.go b/internal/controller/cluster/apmsynthetics/onpremisevantagepointworker/zz_controller.go index 831d01cf5..92cb753b9 100755 --- a/internal/controller/cluster/apmsynthetics/onpremisevantagepointworker/zz_controller.go +++ b/internal/controller/cluster/apmsynthetics/onpremisevantagepointworker/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OnPremiseVantagePointWorker_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OnPremiseVantagePointWorker_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OnPremiseVantagePointWorker_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OnPremiseVantagePointWorker_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_on_premise_vantage_point_worker"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_on_premise_vantage_point_worker"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OnPremiseVantagePointWorker_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apmsynthetics/script/zz_controller.go b/internal/controller/cluster/apmsynthetics/script/zz_controller.go index 8ff62f6f9..e8741933e 100755 --- a/internal/controller/cluster/apmsynthetics/script/zz_controller.go +++ b/internal/controller/cluster/apmsynthetics/script/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Script_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Script_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Script_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Script_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_script"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_script"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Script_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/apmtraces/scheduledquery/zz_controller.go b/internal/controller/cluster/apmtraces/scheduledquery/zz_controller.go index 1e0f99eed..91b2eae7d 100755 --- a/internal/controller/cluster/apmtraces/scheduledquery/zz_controller.go +++ b/internal/controller/cluster/apmtraces/scheduledquery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ScheduledQuery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ScheduledQuery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ScheduledQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ScheduledQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_traces_scheduled_query"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_traces_scheduled_query"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ScheduledQuery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/appmgmt/controlmonitorpluginmanagement/zz_controller.go b/internal/controller/cluster/appmgmt/controlmonitorpluginmanagement/zz_controller.go index 2498310ab..c2a87e519 100755 --- a/internal/controller/cluster/appmgmt/controlmonitorpluginmanagement/zz_controller.go +++ b/internal/controller/cluster/appmgmt/controlmonitorpluginmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ControlMonitorPluginManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ControlMonitorPluginManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ControlMonitorPluginManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ControlMonitorPluginManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_appmgmt_control_monitor_plugin_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_appmgmt_control_monitor_plugin_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ControlMonitorPluginManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/artifacts/containerconfiguration/zz_controller.go b/internal/controller/cluster/artifacts/containerconfiguration/zz_controller.go index 7cdf2ad21..e538154f5 100755 --- a/internal/controller/cluster/artifacts/containerconfiguration/zz_controller.go +++ b/internal/controller/cluster/artifacts/containerconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ContainerConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ContainerConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_artifacts_container_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_artifacts_container_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ContainerConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/artifacts/containerimagesignature/zz_controller.go b/internal/controller/cluster/artifacts/containerimagesignature/zz_controller.go index 95504b27a..f941bfc35 100755 --- a/internal/controller/cluster/artifacts/containerimagesignature/zz_controller.go +++ b/internal/controller/cluster/artifacts/containerimagesignature/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ContainerImageSignature_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ContainerImageSignature_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerImageSignature_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerImageSignature_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_artifacts_container_image_signature"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_artifacts_container_image_signature"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ContainerImageSignature_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/artifacts/containerrepository/zz_controller.go b/internal/controller/cluster/artifacts/containerrepository/zz_controller.go index 8c86e22d8..94d7e1276 100755 --- a/internal/controller/cluster/artifacts/containerrepository/zz_controller.go +++ b/internal/controller/cluster/artifacts/containerrepository/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ContainerRepository_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ContainerRepository_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerRepository_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerRepository_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_artifacts_container_repository"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_artifacts_container_repository"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ContainerRepository_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/artifacts/genericartifact/zz_controller.go b/internal/controller/cluster/artifacts/genericartifact/zz_controller.go index 85c23fa18..33bc2813c 100755 --- a/internal/controller/cluster/artifacts/genericartifact/zz_controller.go +++ b/internal/controller/cluster/artifacts/genericartifact/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.GenericArtifact_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.GenericArtifact_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GenericArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GenericArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_artifacts_generic_artifact"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_artifacts_generic_artifact"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.GenericArtifact_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/artifacts/repository/zz_controller.go b/internal/controller/cluster/artifacts/repository/zz_controller.go index 25083fb7d..317e50813 100755 --- a/internal/controller/cluster/artifacts/repository/zz_controller.go +++ b/internal/controller/cluster/artifacts/repository/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Repository_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Repository_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Repository_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Repository_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_artifacts_repository"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_artifacts_repository"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Repository_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/audit/configuration/zz_controller.go b/internal/controller/cluster/audit/configuration/zz_controller.go index 203d409f9..d3f323642 100755 --- a/internal/controller/cluster/audit/configuration/zz_controller.go +++ b/internal/controller/cluster/audit/configuration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Configuration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Configuration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_audit_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_audit_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Configuration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/autoscaling/autoscalingconfiguration/zz_controller.go b/internal/controller/cluster/autoscaling/autoscalingconfiguration/zz_controller.go index 75a81facc..11b55e3fe 100755 --- a/internal/controller/cluster/autoscaling/autoscalingconfiguration/zz_controller.go +++ b/internal/controller/cluster/autoscaling/autoscalingconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutoScalingConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutoScalingConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutoScalingConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutoScalingConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_autoscaling_auto_scaling_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_autoscaling_auto_scaling_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutoScalingConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bastion/bastion/zz_controller.go b/internal/controller/cluster/bastion/bastion/zz_controller.go index a4e7ddd95..79d8005a0 100755 --- a/internal/controller/cluster/bastion/bastion/zz_controller.go +++ b/internal/controller/cluster/bastion/bastion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Bastion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Bastion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Bastion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Bastion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bastion_bastion"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bastion_bastion"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Bastion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bastion/session/zz_controller.go b/internal/controller/cluster/bastion/session/zz_controller.go index e365ef456..99609c2c1 100755 --- a/internal/controller/cluster/bastion/session/zz_controller.go +++ b/internal/controller/cluster/bastion/session/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Session_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Session_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Session_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Session_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bastion_session"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bastion_session"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Session_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/batch/batchcontext/zz_controller.go b/internal/controller/cluster/batch/batchcontext/zz_controller.go index ee1140999..b38419b71 100755 --- a/internal/controller/cluster/batch/batchcontext/zz_controller.go +++ b/internal/controller/cluster/batch/batchcontext/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BatchContext_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BatchContext_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchContext_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchContext_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_context"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_context"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BatchContext_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/batch/batchjobpool/zz_controller.go b/internal/controller/cluster/batch/batchjobpool/zz_controller.go index 44c9545c8..f7d7f565b 100755 --- a/internal/controller/cluster/batch/batchjobpool/zz_controller.go +++ b/internal/controller/cluster/batch/batchjobpool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BatchJobPool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BatchJobPool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchJobPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchJobPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_job_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_job_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BatchJobPool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/batch/batchtaskenvironment/zz_controller.go b/internal/controller/cluster/batch/batchtaskenvironment/zz_controller.go index 6f5c7d8b3..bc02c6348 100755 --- a/internal/controller/cluster/batch/batchtaskenvironment/zz_controller.go +++ b/internal/controller/cluster/batch/batchtaskenvironment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BatchTaskEnvironment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BatchTaskEnvironment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchTaskEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchTaskEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_task_environment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_task_environment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BatchTaskEnvironment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/batch/batchtaskprofile/zz_controller.go b/internal/controller/cluster/batch/batchtaskprofile/zz_controller.go index e583710d4..cc9573ed6 100755 --- a/internal/controller/cluster/batch/batchtaskprofile/zz_controller.go +++ b/internal/controller/cluster/batch/batchtaskprofile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BatchTaskProfile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BatchTaskProfile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchTaskProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchTaskProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_task_profile"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_task_profile"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BatchTaskProfile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/autoscalingconfiguration/zz_controller.go b/internal/controller/cluster/bds/autoscalingconfiguration/zz_controller.go index b5d2d8a3d..afeac413a 100755 --- a/internal/controller/cluster/bds/autoscalingconfiguration/zz_controller.go +++ b/internal/controller/cluster/bds/autoscalingconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutoScalingConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutoScalingConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutoScalingConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutoScalingConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_auto_scaling_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_auto_scaling_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutoScalingConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdscapacityreport/zz_controller.go b/internal/controller/cluster/bds/bdscapacityreport/zz_controller.go index 9322cd191..22d281c96 100755 --- a/internal/controller/cluster/bds/bdscapacityreport/zz_controller.go +++ b/internal/controller/cluster/bds/bdscapacityreport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsCapacityReport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsCapacityReport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsCapacityReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsCapacityReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_capacity_report"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_capacity_report"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsCapacityReport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsclusteradminpasswordresetaction/zz_controller.go b/internal/controller/cluster/bds/bdsclusteradminpasswordresetaction/zz_controller.go index 5f7cf00b0..f36fe0cf0 100755 --- a/internal/controller/cluster/bds/bdsclusteradminpasswordresetaction/zz_controller.go +++ b/internal/controller/cluster/bds/bdsclusteradminpasswordresetaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsClusterAdminPasswordResetAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsClusterAdminPasswordResetAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsClusterAdminPasswordResetAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsClusterAdminPasswordResetAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_cluster_admin_password_reset_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_cluster_admin_password_reset_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsClusterAdminPasswordResetAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstance/zz_controller.go b/internal/controller/cluster/bds/bdsinstance/zz_controller.go index 2dbc69d36..16990220d 100755 --- a/internal/controller/cluster/bds/bdsinstance/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstanceapikey/zz_controller.go b/internal/controller/cluster/bds/bdsinstanceapikey/zz_controller.go index ff21df42e..c4dcc23f6 100755 --- a/internal/controller/cluster/bds/bdsinstanceapikey/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstanceapikey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceApiKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceApiKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_api_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_api_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceApiKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstancebdscertificateconfiguration/zz_controller.go b/internal/controller/cluster/bds/bdsinstancebdscertificateconfiguration/zz_controller.go index 65d992f26..d9a12ec62 100755 --- a/internal/controller/cluster/bds/bdsinstancebdscertificateconfiguration/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstancebdscertificateconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceBdsCertificateConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceBdsCertificateConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceBdsCertificateConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceBdsCertificateConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_bds_certificate_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_bds_certificate_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceBdsCertificateConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstanceexecutebootstrapscriptaction/zz_controller.go b/internal/controller/cluster/bds/bdsinstanceexecutebootstrapscriptaction/zz_controller.go index c84911fe4..1f9c8a2d3 100755 --- a/internal/controller/cluster/bds/bdsinstanceexecutebootstrapscriptaction/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstanceexecutebootstrapscriptaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceExecuteBootstrapScriptAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceExecuteBootstrapScriptAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceExecuteBootstrapScriptAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceExecuteBootstrapScriptAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_execute_bootstrap_script_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_execute_bootstrap_script_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceExecuteBootstrapScriptAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstanceidentityconfiguration/zz_controller.go b/internal/controller/cluster/bds/bdsinstanceidentityconfiguration/zz_controller.go index 1aa9f319f..9d5f9d098 100755 --- a/internal/controller/cluster/bds/bdsinstanceidentityconfiguration/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstanceidentityconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceIdentityConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceIdentityConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceIdentityConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceIdentityConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_identity_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_identity_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceIdentityConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstancemetastoreconfig/zz_controller.go b/internal/controller/cluster/bds/bdsinstancemetastoreconfig/zz_controller.go index f052608f3..995f5cbbc 100755 --- a/internal/controller/cluster/bds/bdsinstancemetastoreconfig/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstancemetastoreconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceMetastoreConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceMetastoreConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceMetastoreConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceMetastoreConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_metastore_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_metastore_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceMetastoreConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstancenodebackup/zz_controller.go b/internal/controller/cluster/bds/bdsinstancenodebackup/zz_controller.go index df6c74da2..eae2e8fe6 100755 --- a/internal/controller/cluster/bds/bdsinstancenodebackup/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstancenodebackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceNodeBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceNodeBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceNodeBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceNodeBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_node_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_node_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceNodeBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstancenodebackupconfiguration/zz_controller.go b/internal/controller/cluster/bds/bdsinstancenodebackupconfiguration/zz_controller.go index 2bf6c8fb4..c92f3db47 100755 --- a/internal/controller/cluster/bds/bdsinstancenodebackupconfiguration/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstancenodebackupconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceNodeBackupConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceNodeBackupConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceNodeBackupConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceNodeBackupConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_node_backup_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_node_backup_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceNodeBackupConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstancenodereplaceconfiguration/zz_controller.go b/internal/controller/cluster/bds/bdsinstancenodereplaceconfiguration/zz_controller.go index 60bcb0d6f..458c4a67c 100755 --- a/internal/controller/cluster/bds/bdsinstancenodereplaceconfiguration/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstancenodereplaceconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceNodeReplaceConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceNodeReplaceConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceNodeReplaceConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceNodeReplaceConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_node_replace_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_node_replace_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceNodeReplaceConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstanceoperationcertificatemanagementsmanagement/zz_controller.go b/internal/controller/cluster/bds/bdsinstanceoperationcertificatemanagementsmanagement/zz_controller.go index 96b3d84ae..fd9a8ed38 100755 --- a/internal/controller/cluster/bds/bdsinstanceoperationcertificatemanagementsmanagement/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstanceoperationcertificatemanagementsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceOperationCertificateManagementsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceOperationCertificateManagementsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceOperationCertificateManagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceOperationCertificateManagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_operation_certificate_managements_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_operation_certificate_managements_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceOperationCertificateManagementsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstanceospatchaction/zz_controller.go b/internal/controller/cluster/bds/bdsinstanceospatchaction/zz_controller.go index c8562d007..66c23e162 100755 --- a/internal/controller/cluster/bds/bdsinstanceospatchaction/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstanceospatchaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceOsPatchAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceOsPatchAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceOsPatchAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceOsPatchAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_os_patch_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_os_patch_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceOsPatchAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstancepatchaction/zz_controller.go b/internal/controller/cluster/bds/bdsinstancepatchaction/zz_controller.go index e3f342b33..38788ff29 100755 --- a/internal/controller/cluster/bds/bdsinstancepatchaction/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstancepatchaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstancePatchAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstancePatchAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstancePatchAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstancePatchAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_patch_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_patch_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstancePatchAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstancereplacenodeaction/zz_controller.go b/internal/controller/cluster/bds/bdsinstancereplacenodeaction/zz_controller.go index c468b7f7b..06676a5d0 100755 --- a/internal/controller/cluster/bds/bdsinstancereplacenodeaction/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstancereplacenodeaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceReplaceNodeAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceReplaceNodeAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceReplaceNodeAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceReplaceNodeAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_replace_node_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_replace_node_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceReplaceNodeAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstanceresourceprincipalconfiguration/zz_controller.go b/internal/controller/cluster/bds/bdsinstanceresourceprincipalconfiguration/zz_controller.go index 04e071eea..b530f5923 100755 --- a/internal/controller/cluster/bds/bdsinstanceresourceprincipalconfiguration/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstanceresourceprincipalconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceResourcePrincipalConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceResourcePrincipalConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceResourcePrincipalConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceResourcePrincipalConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_resource_principal_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_resource_principal_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceResourcePrincipalConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/bds/bdsinstancesoftwareupdateaction/zz_controller.go b/internal/controller/cluster/bds/bdsinstancesoftwareupdateaction/zz_controller.go index 4d3948fb7..d2215b72d 100755 --- a/internal/controller/cluster/bds/bdsinstancesoftwareupdateaction/zz_controller.go +++ b/internal/controller/cluster/bds/bdsinstancesoftwareupdateaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceSoftwareUpdateAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceSoftwareUpdateAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceSoftwareUpdateAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceSoftwareUpdateAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_software_update_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_software_update_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceSoftwareUpdateAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/blockchain/blockchainplatform/zz_controller.go b/internal/controller/cluster/blockchain/blockchainplatform/zz_controller.go index 85a54fe69..866dd3d78 100755 --- a/internal/controller/cluster/blockchain/blockchainplatform/zz_controller.go +++ b/internal/controller/cluster/blockchain/blockchainplatform/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BlockchainPlatform_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BlockchainPlatform_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BlockchainPlatform_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BlockchainPlatform_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_blockchain_blockchain_platform"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_blockchain_blockchain_platform"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BlockchainPlatform_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/blockchain/osn/zz_controller.go b/internal/controller/cluster/blockchain/osn/zz_controller.go index ba6f0df24..00df9924e 100755 --- a/internal/controller/cluster/blockchain/osn/zz_controller.go +++ b/internal/controller/cluster/blockchain/osn/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Osn_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Osn_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Osn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Osn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_blockchain_osn"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_blockchain_osn"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Osn_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/blockchain/peer/zz_controller.go b/internal/controller/cluster/blockchain/peer/zz_controller.go index 1ed2d3c58..ba6108639 100755 --- a/internal/controller/cluster/blockchain/peer/zz_controller.go +++ b/internal/controller/cluster/blockchain/peer/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Peer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Peer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Peer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Peer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_blockchain_peer"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_blockchain_peer"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Peer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/blockstorage/bootvolume/zz_controller.go b/internal/controller/cluster/blockstorage/bootvolume/zz_controller.go index 79770cfa2..450b2f02b 100755 --- a/internal/controller/cluster/blockstorage/bootvolume/zz_controller.go +++ b/internal/controller/cluster/blockstorage/bootvolume/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BootVolume_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BootVolume_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BootVolume_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BootVolume_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_boot_volume"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_boot_volume"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BootVolume_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/blockstorage/bootvolumebackup/zz_controller.go b/internal/controller/cluster/blockstorage/bootvolumebackup/zz_controller.go index 7d9d96bc3..baf7398f5 100755 --- a/internal/controller/cluster/blockstorage/bootvolumebackup/zz_controller.go +++ b/internal/controller/cluster/blockstorage/bootvolumebackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BootVolumeBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BootVolumeBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BootVolumeBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BootVolumeBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_boot_volume_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_boot_volume_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BootVolumeBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/blockstorage/volume/zz_controller.go b/internal/controller/cluster/blockstorage/volume/zz_controller.go index c1f9bf1eb..7f443cc3b 100755 --- a/internal/controller/cluster/blockstorage/volume/zz_controller.go +++ b/internal/controller/cluster/blockstorage/volume/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Volume_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Volume_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Volume_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Volume_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Volume_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/blockstorage/volumeattachment/zz_controller.go b/internal/controller/cluster/blockstorage/volumeattachment/zz_controller.go index 285c84967..76a5459be 100755 --- a/internal/controller/cluster/blockstorage/volumeattachment/zz_controller.go +++ b/internal/controller/cluster/blockstorage/volumeattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VolumeAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VolumeAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VolumeAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/blockstorage/volumebackup/zz_controller.go b/internal/controller/cluster/blockstorage/volumebackup/zz_controller.go index a98b878b4..781d70942 100755 --- a/internal/controller/cluster/blockstorage/volumebackup/zz_controller.go +++ b/internal/controller/cluster/blockstorage/volumebackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VolumeBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VolumeBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VolumeBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/blockstorage/volumebackuppolicy/zz_controller.go b/internal/controller/cluster/blockstorage/volumebackuppolicy/zz_controller.go index 02d930f2d..420949b68 100755 --- a/internal/controller/cluster/blockstorage/volumebackuppolicy/zz_controller.go +++ b/internal/controller/cluster/blockstorage/volumebackuppolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VolumeBackupPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VolumeBackupPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeBackupPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeBackupPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume_backup_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume_backup_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VolumeBackupPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/blockstorage/volumebackuppolicyassignment/zz_controller.go b/internal/controller/cluster/blockstorage/volumebackuppolicyassignment/zz_controller.go index 5dc0fafd9..cbaeb1760 100755 --- a/internal/controller/cluster/blockstorage/volumebackuppolicyassignment/zz_controller.go +++ b/internal/controller/cluster/blockstorage/volumebackuppolicyassignment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VolumeBackupPolicyAssignment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VolumeBackupPolicyAssignment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeBackupPolicyAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeBackupPolicyAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume_backup_policy_assignment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume_backup_policy_assignment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VolumeBackupPolicyAssignment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/blockstorage/volumegroup/zz_controller.go b/internal/controller/cluster/blockstorage/volumegroup/zz_controller.go index 35d3daaab..c5950185f 100755 --- a/internal/controller/cluster/blockstorage/volumegroup/zz_controller.go +++ b/internal/controller/cluster/blockstorage/volumegroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VolumeGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VolumeGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VolumeGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/blockstorage/volumegroupbackup/zz_controller.go b/internal/controller/cluster/blockstorage/volumegroupbackup/zz_controller.go index 81d302a80..ad37d72d2 100755 --- a/internal/controller/cluster/blockstorage/volumegroupbackup/zz_controller.go +++ b/internal/controller/cluster/blockstorage/volumegroupbackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VolumeGroupBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VolumeGroupBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeGroupBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeGroupBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume_group_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume_group_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VolumeGroupBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/budget/alertrule/zz_controller.go b/internal/controller/cluster/budget/alertrule/zz_controller.go index aba179bd5..c00571846 100755 --- a/internal/controller/cluster/budget/alertrule/zz_controller.go +++ b/internal/controller/cluster/budget/alertrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AlertRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AlertRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlertRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlertRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_budget_alert_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_budget_alert_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AlertRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/budget/budget/zz_controller.go b/internal/controller/cluster/budget/budget/zz_controller.go index fcfa4338a..664960693 100755 --- a/internal/controller/cluster/budget/budget/zz_controller.go +++ b/internal/controller/cluster/budget/budget/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Budget_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Budget_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Budget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Budget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_budget_budget"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_budget_budget"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Budget_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/budget/costalertsubscription/zz_controller.go b/internal/controller/cluster/budget/costalertsubscription/zz_controller.go index 85a686959..81cdff361 100755 --- a/internal/controller/cluster/budget/costalertsubscription/zz_controller.go +++ b/internal/controller/cluster/budget/costalertsubscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAlertSubscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAlertSubscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAlertSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAlertSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_alert_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_alert_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAlertSubscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/budget/costanomalyevent/zz_controller.go b/internal/controller/cluster/budget/costanomalyevent/zz_controller.go index fbf4bfb17..185fa23cb 100755 --- a/internal/controller/cluster/budget/costanomalyevent/zz_controller.go +++ b/internal/controller/cluster/budget/costanomalyevent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAnomalyEvent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAnomalyEvent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyEvent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyEvent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_anomaly_event"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_anomaly_event"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAnomalyEvent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/budget/costanomalymonitor/zz_controller.go b/internal/controller/cluster/budget/costanomalymonitor/zz_controller.go index f82d5945b..060b1460b 100755 --- a/internal/controller/cluster/budget/costanomalymonitor/zz_controller.go +++ b/internal/controller/cluster/budget/costanomalymonitor/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAnomalyMonitor_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAnomalyMonitor_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_anomaly_monitor"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_anomaly_monitor"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAnomalyMonitor_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/budget/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go b/internal/controller/cluster/budget/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go index 86636cd04..cdadd2240 100755 --- a/internal/controller/cluster/budget/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go +++ b/internal/controller/cluster/budget/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_anomaly_monitor_costanomalymonitorenabletoggles_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_anomaly_monitor_costanomalymonitorenabletoggles_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/capacitymanagement/internaloccmdemandsignal/zz_controller.go b/internal/controller/cluster/capacitymanagement/internaloccmdemandsignal/zz_controller.go index 5d144d711..f9b26f9c0 100755 --- a/internal/controller/cluster/capacitymanagement/internaloccmdemandsignal/zz_controller.go +++ b/internal/controller/cluster/capacitymanagement/internaloccmdemandsignal/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InternalOccmDemandSignal_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InternalOccmDemandSignal_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InternalOccmDemandSignal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InternalOccmDemandSignal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_internal_occm_demand_signal"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_internal_occm_demand_signal"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InternalOccmDemandSignal_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/capacitymanagement/internaloccmdemandsignaldelivery/zz_controller.go b/internal/controller/cluster/capacitymanagement/internaloccmdemandsignaldelivery/zz_controller.go index b919acdbb..c7bcbdbe9 100755 --- a/internal/controller/cluster/capacitymanagement/internaloccmdemandsignaldelivery/zz_controller.go +++ b/internal/controller/cluster/capacitymanagement/internaloccmdemandsignaldelivery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InternalOccmDemandSignalDelivery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InternalOccmDemandSignalDelivery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InternalOccmDemandSignalDelivery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InternalOccmDemandSignalDelivery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_internal_occm_demand_signal_delivery"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_internal_occm_demand_signal_delivery"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InternalOccmDemandSignalDelivery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/capacitymanagement/occavailabilitycatalog/zz_controller.go b/internal/controller/cluster/capacitymanagement/occavailabilitycatalog/zz_controller.go index 95aad8baa..9c005b606 100755 --- a/internal/controller/cluster/capacitymanagement/occavailabilitycatalog/zz_controller.go +++ b/internal/controller/cluster/capacitymanagement/occavailabilitycatalog/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccAvailabilityCatalog_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccAvailabilityCatalog_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccAvailabilityCatalog_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccAvailabilityCatalog_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_availability_catalog"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_availability_catalog"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccAvailabilityCatalog_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/capacitymanagement/occcapacityrequest/zz_controller.go b/internal/controller/cluster/capacitymanagement/occcapacityrequest/zz_controller.go index 31e4fa66c..71d2e5792 100755 --- a/internal/controller/cluster/capacitymanagement/occcapacityrequest/zz_controller.go +++ b/internal/controller/cluster/capacitymanagement/occcapacityrequest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccCapacityRequest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccCapacityRequest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccCapacityRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccCapacityRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_capacity_request"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_capacity_request"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccCapacityRequest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/capacitymanagement/occcustomergroup/zz_controller.go b/internal/controller/cluster/capacitymanagement/occcustomergroup/zz_controller.go index d736c2ee2..6ed0f345b 100755 --- a/internal/controller/cluster/capacitymanagement/occcustomergroup/zz_controller.go +++ b/internal/controller/cluster/capacitymanagement/occcustomergroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccCustomerGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccCustomerGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccCustomerGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccCustomerGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_customer_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_customer_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccCustomerGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/capacitymanagement/occcustomergroupocccustomer/zz_controller.go b/internal/controller/cluster/capacitymanagement/occcustomergroupocccustomer/zz_controller.go index 65fa560b3..c930405ce 100755 --- a/internal/controller/cluster/capacitymanagement/occcustomergroupocccustomer/zz_controller.go +++ b/internal/controller/cluster/capacitymanagement/occcustomergroupocccustomer/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccCustomerGroupOccCustomer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccCustomerGroupOccCustomer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccCustomerGroupOccCustomer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccCustomerGroupOccCustomer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_customer_group_occ_customer"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_customer_group_occ_customer"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccCustomerGroupOccCustomer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/capacitymanagement/occmdemandsignal/zz_controller.go b/internal/controller/cluster/capacitymanagement/occmdemandsignal/zz_controller.go index d3c04cdfe..e56fb2419 100755 --- a/internal/controller/cluster/capacitymanagement/occmdemandsignal/zz_controller.go +++ b/internal/controller/cluster/capacitymanagement/occmdemandsignal/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccmDemandSignal_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccmDemandSignal_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccmDemandSignal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccmDemandSignal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occm_demand_signal"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occm_demand_signal"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccmDemandSignal_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/capacitymanagement/occmdemandsignalitem/zz_controller.go b/internal/controller/cluster/capacitymanagement/occmdemandsignalitem/zz_controller.go index 43d07d80f..8d815fa2f 100755 --- a/internal/controller/cluster/capacitymanagement/occmdemandsignalitem/zz_controller.go +++ b/internal/controller/cluster/capacitymanagement/occmdemandsignalitem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccmDemandSignalItem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccmDemandSignalItem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccmDemandSignalItem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccmDemandSignalItem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occm_demand_signal_item"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occm_demand_signal_item"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccmDemandSignalItem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/certificatesmanagement/cabundle/zz_controller.go b/internal/controller/cluster/certificatesmanagement/cabundle/zz_controller.go index c81d0316f..44777a96f 100755 --- a/internal/controller/cluster/certificatesmanagement/cabundle/zz_controller.go +++ b/internal/controller/cluster/certificatesmanagement/cabundle/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CaBundle_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CaBundle_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CaBundle_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CaBundle_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_certificates_management_ca_bundle"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_certificates_management_ca_bundle"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CaBundle_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/certificatesmanagement/certificate/zz_controller.go b/internal/controller/cluster/certificatesmanagement/certificate/zz_controller.go index 6bee73610..6b2644f0b 100755 --- a/internal/controller/cluster/certificatesmanagement/certificate/zz_controller.go +++ b/internal/controller/cluster/certificatesmanagement/certificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Certificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Certificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_certificates_management_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_certificates_management_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Certificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/certificatesmanagement/certificateauthority/zz_controller.go b/internal/controller/cluster/certificatesmanagement/certificateauthority/zz_controller.go index 44c4b2f83..1f59d006f 100755 --- a/internal/controller/cluster/certificatesmanagement/certificateauthority/zz_controller.go +++ b/internal/controller/cluster/certificatesmanagement/certificateauthority/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CertificateAuthority_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CertificateAuthority_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CertificateAuthority_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CertificateAuthority_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_certificates_management_certificate_authority"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_certificates_management_certificate_authority"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CertificateAuthority_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudbridge/agent/zz_controller.go b/internal/controller/cluster/cloudbridge/agent/zz_controller.go index 0c06fef45..0368fc799 100755 --- a/internal/controller/cluster/cloudbridge/agent/zz_controller.go +++ b/internal/controller/cluster/cloudbridge/agent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Agent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Agent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Agent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Agent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_agent"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_agent"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Agent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudbridge/agentdependency/zz_controller.go b/internal/controller/cluster/cloudbridge/agentdependency/zz_controller.go index 80a245571..15ba7d547 100755 --- a/internal/controller/cluster/cloudbridge/agentdependency/zz_controller.go +++ b/internal/controller/cluster/cloudbridge/agentdependency/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentDependency_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentDependency_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentDependency_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentDependency_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_agent_dependency"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_agent_dependency"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentDependency_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudbridge/agentplugin/zz_controller.go b/internal/controller/cluster/cloudbridge/agentplugin/zz_controller.go index 6dff8b0f7..9e78912d0 100755 --- a/internal/controller/cluster/cloudbridge/agentplugin/zz_controller.go +++ b/internal/controller/cluster/cloudbridge/agentplugin/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentPlugin_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentPlugin_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentPlugin_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentPlugin_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_agent_plugin"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_agent_plugin"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentPlugin_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudbridge/asset/zz_controller.go b/internal/controller/cluster/cloudbridge/asset/zz_controller.go index 007b69f9b..7a26cbc4d 100755 --- a/internal/controller/cluster/cloudbridge/asset/zz_controller.go +++ b/internal/controller/cluster/cloudbridge/asset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Asset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Asset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Asset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Asset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_asset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_asset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Asset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudbridge/assetsource/zz_controller.go b/internal/controller/cluster/cloudbridge/assetsource/zz_controller.go index ee3d7a9a9..a0b6359a9 100755 --- a/internal/controller/cluster/cloudbridge/assetsource/zz_controller.go +++ b/internal/controller/cluster/cloudbridge/assetsource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AssetSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AssetSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AssetSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AssetSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_asset_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_asset_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AssetSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudbridge/discoveryschedule/zz_controller.go b/internal/controller/cluster/cloudbridge/discoveryschedule/zz_controller.go index 04eeef184..31972ec4e 100755 --- a/internal/controller/cluster/cloudbridge/discoveryschedule/zz_controller.go +++ b/internal/controller/cluster/cloudbridge/discoveryschedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DiscoverySchedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DiscoverySchedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoverySchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoverySchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_discovery_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_discovery_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DiscoverySchedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudbridge/environment/zz_controller.go b/internal/controller/cluster/cloudbridge/environment/zz_controller.go index 443812cd0..391d27730 100755 --- a/internal/controller/cluster/cloudbridge/environment/zz_controller.go +++ b/internal/controller/cluster/cloudbridge/environment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Environment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Environment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Environment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Environment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_environment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_environment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Environment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudbridge/inventory/zz_controller.go b/internal/controller/cluster/cloudbridge/inventory/zz_controller.go index 11944e1de..cd6a7bd72 100755 --- a/internal/controller/cluster/cloudbridge/inventory/zz_controller.go +++ b/internal/controller/cluster/cloudbridge/inventory/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Inventory_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Inventory_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Inventory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Inventory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_inventory"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_inventory"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Inventory_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudguard/adhocquery/zz_controller.go b/internal/controller/cluster/cloudguard/adhocquery/zz_controller.go index d9c775593..98a9c9bb6 100755 --- a/internal/controller/cluster/cloudguard/adhocquery/zz_controller.go +++ b/internal/controller/cluster/cloudguard/adhocquery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AdhocQuery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AdhocQuery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdhocQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdhocQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_adhoc_query"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_adhoc_query"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AdhocQuery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudguard/cloudguardconfiguration/zz_controller.go b/internal/controller/cluster/cloudguard/cloudguardconfiguration/zz_controller.go index 15c001bb1..2cb4af140 100755 --- a/internal/controller/cluster/cloudguard/cloudguardconfiguration/zz_controller.go +++ b/internal/controller/cluster/cloudguard/cloudguardconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudGuardConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudGuardConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGuardConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGuardConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_cloud_guard_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_cloud_guard_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudGuardConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudguard/datamaskrule/zz_controller.go b/internal/controller/cluster/cloudguard/datamaskrule/zz_controller.go index 276616ad4..67268b570 100755 --- a/internal/controller/cluster/cloudguard/datamaskrule/zz_controller.go +++ b/internal/controller/cluster/cloudguard/datamaskrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataMaskRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataMaskRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataMaskRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataMaskRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_data_mask_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_data_mask_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataMaskRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudguard/datasource/zz_controller.go b/internal/controller/cluster/cloudguard/datasource/zz_controller.go index dbb02c8cd..6732f1f9e 100755 --- a/internal/controller/cluster/cloudguard/datasource/zz_controller.go +++ b/internal/controller/cluster/cloudguard/datasource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_data_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_data_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudguard/detectorrecipe/zz_controller.go b/internal/controller/cluster/cloudguard/detectorrecipe/zz_controller.go index c0371c79c..07fd2b6e3 100755 --- a/internal/controller/cluster/cloudguard/detectorrecipe/zz_controller.go +++ b/internal/controller/cluster/cloudguard/detectorrecipe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DetectorRecipe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DetectorRecipe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DetectorRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DetectorRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_detector_recipe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_detector_recipe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DetectorRecipe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudguard/managedlist/zz_controller.go b/internal/controller/cluster/cloudguard/managedlist/zz_controller.go index f415cf464..9b5ecc356 100755 --- a/internal/controller/cluster/cloudguard/managedlist/zz_controller.go +++ b/internal/controller/cluster/cloudguard/managedlist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_managed_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_managed_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudguard/responderrecipe/zz_controller.go b/internal/controller/cluster/cloudguard/responderrecipe/zz_controller.go index 1ab3a0a1b..1a5a1bdab 100755 --- a/internal/controller/cluster/cloudguard/responderrecipe/zz_controller.go +++ b/internal/controller/cluster/cloudguard/responderrecipe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ResponderRecipe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ResponderRecipe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResponderRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResponderRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_responder_recipe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_responder_recipe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ResponderRecipe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudguard/savedquery/zz_controller.go b/internal/controller/cluster/cloudguard/savedquery/zz_controller.go index c76f73233..3e876a6d9 100755 --- a/internal/controller/cluster/cloudguard/savedquery/zz_controller.go +++ b/internal/controller/cluster/cloudguard/savedquery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SavedQuery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SavedQuery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SavedQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SavedQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_saved_query"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_saved_query"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SavedQuery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudguard/securityrecipe/zz_controller.go b/internal/controller/cluster/cloudguard/securityrecipe/zz_controller.go index 8282a28d8..c7c98ecb3 100755 --- a/internal/controller/cluster/cloudguard/securityrecipe/zz_controller.go +++ b/internal/controller/cluster/cloudguard/securityrecipe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityRecipe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityRecipe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_security_recipe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_security_recipe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityRecipe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudguard/securityzone/zz_controller.go b/internal/controller/cluster/cloudguard/securityzone/zz_controller.go index 0a8b2d14f..399e4c38d 100755 --- a/internal/controller/cluster/cloudguard/securityzone/zz_controller.go +++ b/internal/controller/cluster/cloudguard/securityzone/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityZone_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityZone_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityZone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityZone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_security_zone"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_security_zone"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityZone_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudguard/target/zz_controller.go b/internal/controller/cluster/cloudguard/target/zz_controller.go index 530d36e03..a738951b7 100755 --- a/internal/controller/cluster/cloudguard/target/zz_controller.go +++ b/internal/controller/cluster/cloudguard/target/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Target_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Target_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Target_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Target_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_target"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_target"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Target_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudguard/wlpagent/zz_controller.go b/internal/controller/cluster/cloudguard/wlpagent/zz_controller.go index 6ec81d91b..7f97a0be6 100755 --- a/internal/controller/cluster/cloudguard/wlpagent/zz_controller.go +++ b/internal/controller/cluster/cloudguard/wlpagent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WlpAgent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WlpAgent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WlpAgent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WlpAgent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_wlp_agent"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_wlp_agent"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WlpAgent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudmigrations/migration/zz_controller.go b/internal/controller/cluster/cloudmigrations/migration/zz_controller.go index 6dc436a68..40c7b8e48 100755 --- a/internal/controller/cluster/cloudmigrations/migration/zz_controller.go +++ b/internal/controller/cluster/cloudmigrations/migration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Migration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Migration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Migration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Migration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_migration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_migration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Migration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudmigrations/migrationasset/zz_controller.go b/internal/controller/cluster/cloudmigrations/migrationasset/zz_controller.go index 79b163b81..720cab94b 100755 --- a/internal/controller/cluster/cloudmigrations/migrationasset/zz_controller.go +++ b/internal/controller/cluster/cloudmigrations/migrationasset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationAsset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationAsset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_migration_asset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_migration_asset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationAsset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudmigrations/migrationplan/zz_controller.go b/internal/controller/cluster/cloudmigrations/migrationplan/zz_controller.go index 35d35652a..c2f5ee404 100755 --- a/internal/controller/cluster/cloudmigrations/migrationplan/zz_controller.go +++ b/internal/controller/cluster/cloudmigrations/migrationplan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationPlan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationPlan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_migration_plan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_migration_plan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationPlan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudmigrations/replicationschedule/zz_controller.go b/internal/controller/cluster/cloudmigrations/replicationschedule/zz_controller.go index 279451cc5..3c2c672b1 100755 --- a/internal/controller/cluster/cloudmigrations/replicationschedule/zz_controller.go +++ b/internal/controller/cluster/cloudmigrations/replicationschedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ReplicationSchedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ReplicationSchedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ReplicationSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ReplicationSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_replication_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_replication_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ReplicationSchedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/cloudmigrations/targetasset/zz_controller.go b/internal/controller/cluster/cloudmigrations/targetasset/zz_controller.go index 980a38e0d..2fae9b545 100755 --- a/internal/controller/cluster/cloudmigrations/targetasset/zz_controller.go +++ b/internal/controller/cluster/cloudmigrations/targetasset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TargetAsset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TargetAsset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_target_asset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_target_asset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TargetAsset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/clusterplacementgroups/clusterplacementgroup/zz_controller.go b/internal/controller/cluster/clusterplacementgroups/clusterplacementgroup/zz_controller.go index 24a74b56f..eb0ef689b 100755 --- a/internal/controller/cluster/clusterplacementgroups/clusterplacementgroup/zz_controller.go +++ b/internal/controller/cluster/clusterplacementgroups/clusterplacementgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClusterPlacementGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ClusterPlacementGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterPlacementGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterPlacementGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cluster_placement_groups_cluster_placement_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cluster_placement_groups_cluster_placement_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ClusterPlacementGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/appcataloglistingresourceversionagreement/zz_controller.go b/internal/controller/cluster/compute/appcataloglistingresourceversionagreement/zz_controller.go index 1dddfd01e..cc239020c 100755 --- a/internal/controller/cluster/compute/appcataloglistingresourceversionagreement/zz_controller.go +++ b/internal/controller/cluster/compute/appcataloglistingresourceversionagreement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AppCatalogListingResourceVersionAgreement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AppCatalogListingResourceVersionAgreement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AppCatalogListingResourceVersionAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AppCatalogListingResourceVersionAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_app_catalog_listing_resource_version_agreement"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_app_catalog_listing_resource_version_agreement"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AppCatalogListingResourceVersionAgreement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/appcatalogsubscription/zz_controller.go b/internal/controller/cluster/compute/appcatalogsubscription/zz_controller.go index 7939f471d..24bc327f2 100755 --- a/internal/controller/cluster/compute/appcatalogsubscription/zz_controller.go +++ b/internal/controller/cluster/compute/appcatalogsubscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AppCatalogSubscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AppCatalogSubscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AppCatalogSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AppCatalogSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_app_catalog_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_app_catalog_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AppCatalogSubscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/clusternetwork/zz_controller.go b/internal/controller/cluster/compute/clusternetwork/zz_controller.go index 7ae3c223c..197c162f4 100755 --- a/internal/controller/cluster/compute/clusternetwork/zz_controller.go +++ b/internal/controller/cluster/compute/clusternetwork/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClusterNetwork_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ClusterNetwork_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterNetwork_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterNetwork_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_cluster_network"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_cluster_network"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ClusterNetwork_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/computecapacityreport/zz_controller.go b/internal/controller/cluster/compute/computecapacityreport/zz_controller.go index 94466d95f..be83b0a06 100755 --- a/internal/controller/cluster/compute/computecapacityreport/zz_controller.go +++ b/internal/controller/cluster/compute/computecapacityreport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeCapacityReport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeCapacityReport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCapacityReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCapacityReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_capacity_report"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_capacity_report"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeCapacityReport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/computecapacityreservation/zz_controller.go b/internal/controller/cluster/compute/computecapacityreservation/zz_controller.go index d5ad69def..f4dead402 100755 --- a/internal/controller/cluster/compute/computecapacityreservation/zz_controller.go +++ b/internal/controller/cluster/compute/computecapacityreservation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeCapacityReservation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeCapacityReservation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCapacityReservation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCapacityReservation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_capacity_reservation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_capacity_reservation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeCapacityReservation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/computecapacitytopology/zz_controller.go b/internal/controller/cluster/compute/computecapacitytopology/zz_controller.go index 0955907a3..096a61ca0 100755 --- a/internal/controller/cluster/compute/computecapacitytopology/zz_controller.go +++ b/internal/controller/cluster/compute/computecapacitytopology/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeCapacityTopology_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeCapacityTopology_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCapacityTopology_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCapacityTopology_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_capacity_topology"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_capacity_topology"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeCapacityTopology_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/computecluster/zz_controller.go b/internal/controller/cluster/compute/computecluster/zz_controller.go index d8b37302a..dd365ede4 100755 --- a/internal/controller/cluster/compute/computecluster/zz_controller.go +++ b/internal/controller/cluster/compute/computecluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/computegpumemorycluster/zz_controller.go b/internal/controller/cluster/compute/computegpumemorycluster/zz_controller.go index 188a0709d..0b37aa4c6 100755 --- a/internal/controller/cluster/compute/computegpumemorycluster/zz_controller.go +++ b/internal/controller/cluster/compute/computegpumemorycluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeGpuMemoryCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeGpuMemoryCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeGpuMemoryCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeGpuMemoryCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_gpu_memory_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_gpu_memory_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeGpuMemoryCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/computegpumemoryfabric/zz_controller.go b/internal/controller/cluster/compute/computegpumemoryfabric/zz_controller.go index 2137d7c06..2998cda0c 100755 --- a/internal/controller/cluster/compute/computegpumemoryfabric/zz_controller.go +++ b/internal/controller/cluster/compute/computegpumemoryfabric/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeGpuMemoryFabric_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeGpuMemoryFabric_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeGpuMemoryFabric_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeGpuMemoryFabric_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_gpu_memory_fabric"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_gpu_memory_fabric"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeGpuMemoryFabric_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/computehost/zz_controller.go b/internal/controller/cluster/compute/computehost/zz_controller.go index 774c7b251..909506a4c 100755 --- a/internal/controller/cluster/compute/computehost/zz_controller.go +++ b/internal/controller/cluster/compute/computehost/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeHost_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeHost_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeHost_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeHost_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_host"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_host"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeHost_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/computehostgroup/zz_controller.go b/internal/controller/cluster/compute/computehostgroup/zz_controller.go index 96e3db485..396bd20de 100755 --- a/internal/controller/cluster/compute/computehostgroup/zz_controller.go +++ b/internal/controller/cluster/compute/computehostgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeHostGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeHostGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeHostGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeHostGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_host_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_host_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeHostGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/computeimagecapabilityschema/zz_controller.go b/internal/controller/cluster/compute/computeimagecapabilityschema/zz_controller.go index e1e73ff58..0d298f33d 100755 --- a/internal/controller/cluster/compute/computeimagecapabilityschema/zz_controller.go +++ b/internal/controller/cluster/compute/computeimagecapabilityschema/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeImageCapabilitySchema_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeImageCapabilitySchema_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeImageCapabilitySchema_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeImageCapabilitySchema_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_image_capability_schema"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_image_capability_schema"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeImageCapabilitySchema_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/consolehistory/zz_controller.go b/internal/controller/cluster/compute/consolehistory/zz_controller.go index 698c637b0..3e96229e6 100755 --- a/internal/controller/cluster/compute/consolehistory/zz_controller.go +++ b/internal/controller/cluster/compute/consolehistory/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConsoleHistory_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ConsoleHistory_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConsoleHistory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConsoleHistory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_console_history"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_console_history"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ConsoleHistory_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/dedicatedvmhost/zz_controller.go b/internal/controller/cluster/compute/dedicatedvmhost/zz_controller.go index e3f9b25c2..80aaca00d 100755 --- a/internal/controller/cluster/compute/dedicatedvmhost/zz_controller.go +++ b/internal/controller/cluster/compute/dedicatedvmhost/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DedicatedVmHost_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DedicatedVmHost_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DedicatedVmHost_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DedicatedVmHost_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_dedicated_vm_host"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_dedicated_vm_host"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DedicatedVmHost_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/image/zz_controller.go b/internal/controller/cluster/compute/image/zz_controller.go index 574862432..5c3edab1a 100755 --- a/internal/controller/cluster/compute/image/zz_controller.go +++ b/internal/controller/cluster/compute/image/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Image_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Image_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Image_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Image_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_image"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_image"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Image_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/instance/zz_controller.go b/internal/controller/cluster/compute/instance/zz_controller.go index f1ef59e2b..986a18256 100755 --- a/internal/controller/cluster/compute/instance/zz_controller.go +++ b/internal/controller/cluster/compute/instance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Instance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Instance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Instance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Instance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Instance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/instanceconfiguration/zz_controller.go b/internal/controller/cluster/compute/instanceconfiguration/zz_controller.go index f3bf72029..2fdb5d057 100755 --- a/internal/controller/cluster/compute/instanceconfiguration/zz_controller.go +++ b/internal/controller/cluster/compute/instanceconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InstanceConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InstanceConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstanceConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstanceConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_instance_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_instance_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InstanceConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/instanceconsoleconnection/zz_controller.go b/internal/controller/cluster/compute/instanceconsoleconnection/zz_controller.go index 9f7632fb5..f56edeb7f 100755 --- a/internal/controller/cluster/compute/instanceconsoleconnection/zz_controller.go +++ b/internal/controller/cluster/compute/instanceconsoleconnection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InstanceConsoleConnection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InstanceConsoleConnection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstanceConsoleConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstanceConsoleConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_instance_console_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_instance_console_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InstanceConsoleConnection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/instancemaintenanceevent/zz_controller.go b/internal/controller/cluster/compute/instancemaintenanceevent/zz_controller.go index def178bf3..99760b6cf 100755 --- a/internal/controller/cluster/compute/instancemaintenanceevent/zz_controller.go +++ b/internal/controller/cluster/compute/instancemaintenanceevent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InstanceMaintenanceEvent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InstanceMaintenanceEvent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstanceMaintenanceEvent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstanceMaintenanceEvent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_instance_maintenance_event"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_instance_maintenance_event"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InstanceMaintenanceEvent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/instancepool/zz_controller.go b/internal/controller/cluster/compute/instancepool/zz_controller.go index f487ba7d9..f944e7dee 100755 --- a/internal/controller/cluster/compute/instancepool/zz_controller.go +++ b/internal/controller/cluster/compute/instancepool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InstancePool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InstancePool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstancePool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstancePool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_instance_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_instance_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InstancePool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/instancepoolinstance/zz_controller.go b/internal/controller/cluster/compute/instancepoolinstance/zz_controller.go index 7ce96cb5f..7708aa87d 100755 --- a/internal/controller/cluster/compute/instancepoolinstance/zz_controller.go +++ b/internal/controller/cluster/compute/instancepoolinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InstancePoolInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InstancePoolInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstancePoolInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstancePoolInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_instance_pool_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_instance_pool_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InstancePoolInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/compute/shapemanagement/zz_controller.go b/internal/controller/cluster/compute/shapemanagement/zz_controller.go index b1d244474..efbc18f45 100755 --- a/internal/controller/cluster/compute/shapemanagement/zz_controller.go +++ b/internal/controller/cluster/compute/shapemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ShapeManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ShapeManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ShapeManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ShapeManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_shape_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_shape_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ShapeManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/computecloudatcustomer/cccinfrastructure/zz_controller.go b/internal/controller/cluster/computecloudatcustomer/cccinfrastructure/zz_controller.go index 8895342c1..af88c3d22 100755 --- a/internal/controller/cluster/computecloudatcustomer/cccinfrastructure/zz_controller.go +++ b/internal/controller/cluster/computecloudatcustomer/cccinfrastructure/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CccInfrastructure_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CccInfrastructure_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CccInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CccInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_compute_cloud_at_customer_ccc_infrastructure"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_compute_cloud_at_customer_ccc_infrastructure"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CccInfrastructure_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/computecloudatcustomer/cccupgradeschedule/zz_controller.go b/internal/controller/cluster/computecloudatcustomer/cccupgradeschedule/zz_controller.go index bb7d0af7a..e0fea378b 100755 --- a/internal/controller/cluster/computecloudatcustomer/cccupgradeschedule/zz_controller.go +++ b/internal/controller/cluster/computecloudatcustomer/cccupgradeschedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CccUpgradeSchedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CccUpgradeSchedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CccUpgradeSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CccUpgradeSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_compute_cloud_at_customer_ccc_upgrade_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_compute_cloud_at_customer_ccc_upgrade_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CccUpgradeSchedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/containerengine/addon/zz_controller.go b/internal/controller/cluster/containerengine/addon/zz_controller.go index 404c74ce9..23f135287 100755 --- a/internal/controller/cluster/containerengine/addon/zz_controller.go +++ b/internal/controller/cluster/containerengine/addon/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Addon_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Addon_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Addon_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Addon_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_addon"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_addon"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Addon_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/containerengine/cluster/zz_controller.go b/internal/controller/cluster/containerengine/cluster/zz_controller.go index bd05c96ca..d83c06932 100755 --- a/internal/controller/cluster/containerengine/cluster/zz_controller.go +++ b/internal/controller/cluster/containerengine/cluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Cluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Cluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Cluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Cluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Cluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/containerengine/clustercompletecredentialrotationmanagement/zz_controller.go b/internal/controller/cluster/containerengine/clustercompletecredentialrotationmanagement/zz_controller.go index a499aa48e..46f5ca8dc 100755 --- a/internal/controller/cluster/containerengine/clustercompletecredentialrotationmanagement/zz_controller.go +++ b/internal/controller/cluster/containerengine/clustercompletecredentialrotationmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClusterCompleteCredentialRotationManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ClusterCompleteCredentialRotationManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterCompleteCredentialRotationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterCompleteCredentialRotationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_complete_credential_rotation_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_complete_credential_rotation_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ClusterCompleteCredentialRotationManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/containerengine/clusterpublicapiendpointdecommissionmanager/zz_controller.go b/internal/controller/cluster/containerengine/clusterpublicapiendpointdecommissionmanager/zz_controller.go index 637b40029..9aed3b509 100755 --- a/internal/controller/cluster/containerengine/clusterpublicapiendpointdecommissionmanager/zz_controller.go +++ b/internal/controller/cluster/containerengine/clusterpublicapiendpointdecommissionmanager/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClusterPublicApiEndpointDecommissionManager_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ClusterPublicApiEndpointDecommissionManager_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterPublicApiEndpointDecommissionManager_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterPublicApiEndpointDecommissionManager_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_public_api_endpoint_decommission_manager"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_public_api_endpoint_decommission_manager"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ClusterPublicApiEndpointDecommissionManager_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/containerengine/clusterstartcredentialrotationmanagement/zz_controller.go b/internal/controller/cluster/containerengine/clusterstartcredentialrotationmanagement/zz_controller.go index b1b04f3d9..1415aebbd 100755 --- a/internal/controller/cluster/containerengine/clusterstartcredentialrotationmanagement/zz_controller.go +++ b/internal/controller/cluster/containerengine/clusterstartcredentialrotationmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClusterStartCredentialRotationManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ClusterStartCredentialRotationManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterStartCredentialRotationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterStartCredentialRotationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_start_credential_rotation_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_start_credential_rotation_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ClusterStartCredentialRotationManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/containerengine/clusterworkloadmapping/zz_controller.go b/internal/controller/cluster/containerengine/clusterworkloadmapping/zz_controller.go index 424a83ce1..df9d961cf 100755 --- a/internal/controller/cluster/containerengine/clusterworkloadmapping/zz_controller.go +++ b/internal/controller/cluster/containerengine/clusterworkloadmapping/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClusterWorkloadMapping_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ClusterWorkloadMapping_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterWorkloadMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterWorkloadMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_workload_mapping"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_workload_mapping"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ClusterWorkloadMapping_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/containerengine/nodepool/zz_controller.go b/internal/controller/cluster/containerengine/nodepool/zz_controller.go index 56ec9a180..f3350f697 100755 --- a/internal/controller/cluster/containerengine/nodepool/zz_controller.go +++ b/internal/controller/cluster/containerengine/nodepool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NodePool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NodePool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NodePool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NodePool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_node_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_node_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NodePool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/containerengine/virtualnodepool/zz_controller.go b/internal/controller/cluster/containerengine/virtualnodepool/zz_controller.go index 3277259f5..492febead 100755 --- a/internal/controller/cluster/containerengine/virtualnodepool/zz_controller.go +++ b/internal/controller/cluster/containerengine/virtualnodepool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VirtualNodePool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VirtualNodePool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VirtualNodePool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VirtualNodePool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_virtual_node_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_virtual_node_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VirtualNodePool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/containerinstances/containerinstance/zz_controller.go b/internal/controller/cluster/containerinstances/containerinstance/zz_controller.go index 2f1a1f7f4..0324dc1ed 100755 --- a/internal/controller/cluster/containerinstances/containerinstance/zz_controller.go +++ b/internal/controller/cluster/containerinstances/containerinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ContainerInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ContainerInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_container_instances_container_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_container_instances_container_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ContainerInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/core/byoasn/zz_controller.go b/internal/controller/cluster/core/byoasn/zz_controller.go index 2a220f969..fb5dadb2a 100755 --- a/internal/controller/cluster/core/byoasn/zz_controller.go +++ b/internal/controller/cluster/core/byoasn/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Byoasn_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Byoasn_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Byoasn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Byoasn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_byoasn"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_byoasn"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Byoasn_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/core/listingresourceversionagreement/zz_controller.go b/internal/controller/cluster/core/listingresourceversionagreement/zz_controller.go index a4eaf78c2..b02aa0035 100755 --- a/internal/controller/cluster/core/listingresourceversionagreement/zz_controller.go +++ b/internal/controller/cluster/core/listingresourceversionagreement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ListingResourceVersionAgreement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ListingResourceVersionAgreement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ListingResourceVersionAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ListingResourceVersionAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_listing_resource_version_agreement"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_listing_resource_version_agreement"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ListingResourceVersionAgreement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/core/virtualnetwork/zz_controller.go b/internal/controller/cluster/core/virtualnetwork/zz_controller.go index 177550fed..132964792 100755 --- a/internal/controller/cluster/core/virtualnetwork/zz_controller.go +++ b/internal/controller/cluster/core/virtualnetwork/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VirtualNetwork_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VirtualNetwork_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VirtualNetwork_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VirtualNetwork_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_virtual_network"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_virtual_network"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VirtualNetwork_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/costad/costalertsubscription/zz_controller.go b/internal/controller/cluster/costad/costalertsubscription/zz_controller.go index 56a5baaf5..0a2cccccb 100755 --- a/internal/controller/cluster/costad/costalertsubscription/zz_controller.go +++ b/internal/controller/cluster/costad/costalertsubscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAlertSubscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAlertSubscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAlertSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAlertSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_alert_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_alert_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAlertSubscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/costad/costanomalyevent/zz_controller.go b/internal/controller/cluster/costad/costanomalyevent/zz_controller.go index aa0d07765..63dcc813f 100755 --- a/internal/controller/cluster/costad/costanomalyevent/zz_controller.go +++ b/internal/controller/cluster/costad/costanomalyevent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAnomalyEvent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAnomalyEvent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyEvent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyEvent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_anomaly_event"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_anomaly_event"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAnomalyEvent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/costad/costanomalymonitor/zz_controller.go b/internal/controller/cluster/costad/costanomalymonitor/zz_controller.go index 351c584f1..2352b9425 100755 --- a/internal/controller/cluster/costad/costanomalymonitor/zz_controller.go +++ b/internal/controller/cluster/costad/costanomalymonitor/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAnomalyMonitor_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAnomalyMonitor_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_anomaly_monitor"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_anomaly_monitor"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAnomalyMonitor_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/costad/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go b/internal/controller/cluster/costad/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go index 48193ffc0..5fe9b875b 100755 --- a/internal/controller/cluster/costad/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go +++ b/internal/controller/cluster/costad/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_anomaly_monitor_costanomalymonitorenabletoggles_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_anomaly_monitor_costanomalymonitorenabletoggles_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/advancedclusterfilesystem/zz_controller.go b/internal/controller/cluster/database/advancedclusterfilesystem/zz_controller.go index 3a3afda91..27aed803c 100755 --- a/internal/controller/cluster/database/advancedclusterfilesystem/zz_controller.go +++ b/internal/controller/cluster/database/advancedclusterfilesystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AdvancedClusterFileSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AdvancedClusterFileSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdvancedClusterFileSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdvancedClusterFileSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_advanced_cluster_file_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_advanced_cluster_file_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AdvancedClusterFileSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/advancedclusterfilesystemmount/zz_controller.go b/internal/controller/cluster/database/advancedclusterfilesystemmount/zz_controller.go index ebb31713d..50d9aa659 100755 --- a/internal/controller/cluster/database/advancedclusterfilesystemmount/zz_controller.go +++ b/internal/controller/cluster/database/advancedclusterfilesystemmount/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AdvancedClusterFileSystemMount_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AdvancedClusterFileSystemMount_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdvancedClusterFileSystemMount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdvancedClusterFileSystemMount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_advanced_cluster_file_system_mount"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_advanced_cluster_file_system_mount"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AdvancedClusterFileSystemMount_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/advancedclusterfilesystemunmount/zz_controller.go b/internal/controller/cluster/database/advancedclusterfilesystemunmount/zz_controller.go index efabe5a5a..e31f92e03 100755 --- a/internal/controller/cluster/database/advancedclusterfilesystemunmount/zz_controller.go +++ b/internal/controller/cluster/database/advancedclusterfilesystemunmount/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AdvancedClusterFileSystemUnmount_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AdvancedClusterFileSystemUnmount_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdvancedClusterFileSystemUnmount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdvancedClusterFileSystemUnmount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_advanced_cluster_file_system_unmount"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_advanced_cluster_file_system_unmount"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AdvancedClusterFileSystemUnmount_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/applicationvip/zz_controller.go b/internal/controller/cluster/database/applicationvip/zz_controller.go index df55a295b..b1003d51b 100755 --- a/internal/controller/cluster/database/applicationvip/zz_controller.go +++ b/internal/controller/cluster/database/applicationvip/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApplicationVip_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApplicationVip_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApplicationVip_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApplicationVip_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_application_vip"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_application_vip"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApplicationVip_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomouscontainerdatabase/zz_controller.go b/internal/controller/cluster/database/autonomouscontainerdatabase/zz_controller.go index 4cf42399b..dc006bada 100755 --- a/internal/controller/cluster/database/autonomouscontainerdatabase/zz_controller.go +++ b/internal/controller/cluster/database/autonomouscontainerdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousContainerDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousContainerDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousContainerDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomouscontainerdatabaseaddstandby/zz_controller.go b/internal/controller/cluster/database/autonomouscontainerdatabaseaddstandby/zz_controller.go index c2ae46dfc..f5ddaf99a 100755 --- a/internal/controller/cluster/database/autonomouscontainerdatabaseaddstandby/zz_controller.go +++ b/internal/controller/cluster/database/autonomouscontainerdatabaseaddstandby/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousContainerDatabaseAddStandby_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousContainerDatabaseAddStandby_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseAddStandby_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseAddStandby_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_add_standby"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_add_standby"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousContainerDatabaseAddStandby_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomouscontainerdatabasedataguardassociation/zz_controller.go b/internal/controller/cluster/database/autonomouscontainerdatabasedataguardassociation/zz_controller.go index 3f8415026..a0135283c 100755 --- a/internal/controller/cluster/database/autonomouscontainerdatabasedataguardassociation/zz_controller.go +++ b/internal/controller/cluster/database/autonomouscontainerdatabasedataguardassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousContainerDatabaseDataguardAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousContainerDatabaseDataguardAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseDataguardAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseDataguardAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_dataguard_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_dataguard_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousContainerDatabaseDataguardAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomouscontainerdatabasedataguardassociationoperation/zz_controller.go b/internal/controller/cluster/database/autonomouscontainerdatabasedataguardassociationoperation/zz_controller.go index c6aa21532..a5b6a5cf2 100755 --- a/internal/controller/cluster/database/autonomouscontainerdatabasedataguardassociationoperation/zz_controller.go +++ b/internal/controller/cluster/database/autonomouscontainerdatabasedataguardassociationoperation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousContainerDatabaseDataguardAssociationOperation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousContainerDatabaseDataguardAssociationOperation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseDataguardAssociationOperation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseDataguardAssociationOperation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_dataguard_association_operation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_dataguard_association_operation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousContainerDatabaseDataguardAssociationOperation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomouscontainerdatabasedataguardrolechange/zz_controller.go b/internal/controller/cluster/database/autonomouscontainerdatabasedataguardrolechange/zz_controller.go index ed7357d3b..b489c8b17 100755 --- a/internal/controller/cluster/database/autonomouscontainerdatabasedataguardrolechange/zz_controller.go +++ b/internal/controller/cluster/database/autonomouscontainerdatabasedataguardrolechange/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousContainerDatabaseDataguardRoleChange_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousContainerDatabaseDataguardRoleChange_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseDataguardRoleChange_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseDataguardRoleChange_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_dataguard_role_change"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_dataguard_role_change"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousContainerDatabaseDataguardRoleChange_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomouscontainerdatabasesnapshotstandby/zz_controller.go b/internal/controller/cluster/database/autonomouscontainerdatabasesnapshotstandby/zz_controller.go index 702922a01..272450ddb 100755 --- a/internal/controller/cluster/database/autonomouscontainerdatabasesnapshotstandby/zz_controller.go +++ b/internal/controller/cluster/database/autonomouscontainerdatabasesnapshotstandby/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousContainerDatabaseSnapshotStandby_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousContainerDatabaseSnapshotStandby_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseSnapshotStandby_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseSnapshotStandby_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_snapshot_standby"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_snapshot_standby"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousContainerDatabaseSnapshotStandby_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomousdatabase/zz_controller.go b/internal/controller/cluster/database/autonomousdatabase/zz_controller.go index c8c078419..75e6e10e3 100755 --- a/internal/controller/cluster/database/autonomousdatabase/zz_controller.go +++ b/internal/controller/cluster/database/autonomousdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomousdatabasebackup/zz_controller.go b/internal/controller/cluster/database/autonomousdatabasebackup/zz_controller.go index ba2ddfbea..74fe66afa 100755 --- a/internal/controller/cluster/database/autonomousdatabasebackup/zz_controller.go +++ b/internal/controller/cluster/database/autonomousdatabasebackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabaseBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabaseBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabaseBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomousdatabaseinstancewalletmanagement/zz_controller.go b/internal/controller/cluster/database/autonomousdatabaseinstancewalletmanagement/zz_controller.go index 0b3e7834b..94d592142 100755 --- a/internal/controller/cluster/database/autonomousdatabaseinstancewalletmanagement/zz_controller.go +++ b/internal/controller/cluster/database/autonomousdatabaseinstancewalletmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabaseInstanceWalletManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabaseInstanceWalletManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseInstanceWalletManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseInstanceWalletManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_instance_wallet_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_instance_wallet_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabaseInstanceWalletManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomousdatabaseregionalwalletmanagement/zz_controller.go b/internal/controller/cluster/database/autonomousdatabaseregionalwalletmanagement/zz_controller.go index 01f5cc0cd..e942ae2cc 100755 --- a/internal/controller/cluster/database/autonomousdatabaseregionalwalletmanagement/zz_controller.go +++ b/internal/controller/cluster/database/autonomousdatabaseregionalwalletmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabaseRegionalWalletManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabaseRegionalWalletManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseRegionalWalletManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseRegionalWalletManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_regional_wallet_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_regional_wallet_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabaseRegionalWalletManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomousdatabasesaasadminuser/zz_controller.go b/internal/controller/cluster/database/autonomousdatabasesaasadminuser/zz_controller.go index 1f5aabb7b..a3a1d8198 100755 --- a/internal/controller/cluster/database/autonomousdatabasesaasadminuser/zz_controller.go +++ b/internal/controller/cluster/database/autonomousdatabasesaasadminuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabaseSaasAdminUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabaseSaasAdminUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseSaasAdminUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseSaasAdminUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_saas_admin_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_saas_admin_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabaseSaasAdminUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomousdatabasesoftwareimage/zz_controller.go b/internal/controller/cluster/database/autonomousdatabasesoftwareimage/zz_controller.go index 35a62cd46..320005c8b 100755 --- a/internal/controller/cluster/database/autonomousdatabasesoftwareimage/zz_controller.go +++ b/internal/controller/cluster/database/autonomousdatabasesoftwareimage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabaseSoftwareImage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabaseSoftwareImage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseSoftwareImage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseSoftwareImage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_software_image"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_software_image"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabaseSoftwareImage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomousdatabasewallet/zz_controller.go b/internal/controller/cluster/database/autonomousdatabasewallet/zz_controller.go index 992d5b4db..881167b9d 100755 --- a/internal/controller/cluster/database/autonomousdatabasewallet/zz_controller.go +++ b/internal/controller/cluster/database/autonomousdatabasewallet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabaseWallet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabaseWallet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseWallet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseWallet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_wallet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_wallet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabaseWallet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomousexadatainfrastructure/zz_controller.go b/internal/controller/cluster/database/autonomousexadatainfrastructure/zz_controller.go index 7f56d74f7..94b311c0b 100755 --- a/internal/controller/cluster/database/autonomousexadatainfrastructure/zz_controller.go +++ b/internal/controller/cluster/database/autonomousexadatainfrastructure/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousExadataInfrastructure_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousExadataInfrastructure_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_exadata_infrastructure"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_exadata_infrastructure"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousExadataInfrastructure_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomousvmcluster/zz_controller.go b/internal/controller/cluster/database/autonomousvmcluster/zz_controller.go index a65b4972d..0da52e5d7 100755 --- a/internal/controller/cluster/database/autonomousvmcluster/zz_controller.go +++ b/internal/controller/cluster/database/autonomousvmcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousVmCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousVmCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_vm_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_vm_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousVmCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomousvmclusterordscertificatemanagement/zz_controller.go b/internal/controller/cluster/database/autonomousvmclusterordscertificatemanagement/zz_controller.go index 376707b54..4a72b5f39 100755 --- a/internal/controller/cluster/database/autonomousvmclusterordscertificatemanagement/zz_controller.go +++ b/internal/controller/cluster/database/autonomousvmclusterordscertificatemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousVmClusterOrdsCertificateManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousVmClusterOrdsCertificateManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousVmClusterOrdsCertificateManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousVmClusterOrdsCertificateManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_vm_cluster_ords_certificate_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_vm_cluster_ords_certificate_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousVmClusterOrdsCertificateManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/autonomousvmclustersslcertificatemanagement/zz_controller.go b/internal/controller/cluster/database/autonomousvmclustersslcertificatemanagement/zz_controller.go index 609e804ec..9a5d5bfa5 100755 --- a/internal/controller/cluster/database/autonomousvmclustersslcertificatemanagement/zz_controller.go +++ b/internal/controller/cluster/database/autonomousvmclustersslcertificatemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousVmClusterSslCertificateManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousVmClusterSslCertificateManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousVmClusterSslCertificateManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousVmClusterSslCertificateManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_vm_cluster_ssl_certificate_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_vm_cluster_ssl_certificate_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousVmClusterSslCertificateManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/backup/zz_controller.go b/internal/controller/cluster/database/backup/zz_controller.go index efe1d9ec7..32af574f8 100755 --- a/internal/controller/cluster/database/backup/zz_controller.go +++ b/internal/controller/cluster/database/backup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Backup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Backup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Backup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Backup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Backup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/backupcancelmanagement/zz_controller.go b/internal/controller/cluster/database/backupcancelmanagement/zz_controller.go index ae9b0c18c..565f5d8e8 100755 --- a/internal/controller/cluster/database/backupcancelmanagement/zz_controller.go +++ b/internal/controller/cluster/database/backupcancelmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BackupCancelManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BackupCancelManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackupCancelManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackupCancelManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_backup_cancel_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_backup_cancel_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BackupCancelManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/backupdestination/zz_controller.go b/internal/controller/cluster/database/backupdestination/zz_controller.go index 38cbfd418..5bd11a486 100755 --- a/internal/controller/cluster/database/backupdestination/zz_controller.go +++ b/internal/controller/cluster/database/backupdestination/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BackupDestination_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BackupDestination_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackupDestination_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackupDestination_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_backup_destination"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_backup_destination"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BackupDestination_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/cloudautonomousvmcluster/zz_controller.go b/internal/controller/cluster/database/cloudautonomousvmcluster/zz_controller.go index 7c8d3b09a..7e24f5135 100755 --- a/internal/controller/cluster/database/cloudautonomousvmcluster/zz_controller.go +++ b/internal/controller/cluster/database/cloudautonomousvmcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudAutonomousVmCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudAutonomousVmCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudAutonomousVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudAutonomousVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_autonomous_vm_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_autonomous_vm_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudAutonomousVmCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/clouddatabasemanagement/zz_controller.go b/internal/controller/cluster/database/clouddatabasemanagement/zz_controller.go index c6f2a511b..3efee688a 100755 --- a/internal/controller/cluster/database/clouddatabasemanagement/zz_controller.go +++ b/internal/controller/cluster/database/clouddatabasemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudDatabaseManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudDatabaseManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_database_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_database_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudDatabaseManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/cloudexadatainfrastructure/zz_controller.go b/internal/controller/cluster/database/cloudexadatainfrastructure/zz_controller.go index b01b9284b..2af11bc51 100755 --- a/internal/controller/cluster/database/cloudexadatainfrastructure/zz_controller.go +++ b/internal/controller/cluster/database/cloudexadatainfrastructure/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudExadataInfrastructure_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudExadataInfrastructure_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_exadata_infrastructure"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_exadata_infrastructure"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudExadataInfrastructure_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/cloudexadatainfrastructureconfigureexascalemanagement/zz_controller.go b/internal/controller/cluster/database/cloudexadatainfrastructureconfigureexascalemanagement/zz_controller.go index d63787e5c..c35dec120 100755 --- a/internal/controller/cluster/database/cloudexadatainfrastructureconfigureexascalemanagement/zz_controller.go +++ b/internal/controller/cluster/database/cloudexadatainfrastructureconfigureexascalemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudExadataInfrastructureConfigureExascaleManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudExadataInfrastructureConfigureExascaleManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudExadataInfrastructureConfigureExascaleManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudExadataInfrastructureConfigureExascaleManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_exadata_infrastructure_configure_exascale_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_exadata_infrastructure_configure_exascale_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudExadataInfrastructureConfigureExascaleManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/cloudvmcluster/zz_controller.go b/internal/controller/cluster/database/cloudvmcluster/zz_controller.go index d8b9fb964..bc0cd4988 100755 --- a/internal/controller/cluster/database/cloudvmcluster/zz_controller.go +++ b/internal/controller/cluster/database/cloudvmcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudVmCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudVmCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_vm_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_vm_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudVmCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/cloudvmclusteriormconfig/zz_controller.go b/internal/controller/cluster/database/cloudvmclusteriormconfig/zz_controller.go index 600b23b9b..ef8217563 100755 --- a/internal/controller/cluster/database/cloudvmclusteriormconfig/zz_controller.go +++ b/internal/controller/cluster/database/cloudvmclusteriormconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudVmClusterIormConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudVmClusterIormConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudVmClusterIormConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudVmClusterIormConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_vm_cluster_iorm_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_vm_cluster_iorm_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudVmClusterIormConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/database/zz_controller.go b/internal/controller/cluster/database/database/zz_controller.go index a75cb9f66..12cee9fed 100755 --- a/internal/controller/cluster/database/database/zz_controller.go +++ b/internal/controller/cluster/database/database/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Database_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Database_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Database_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Database_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Database_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/databasesnapshotstandby/zz_controller.go b/internal/controller/cluster/database/databasesnapshotstandby/zz_controller.go index b97c84653..097d04ae4 100755 --- a/internal/controller/cluster/database/databasesnapshotstandby/zz_controller.go +++ b/internal/controller/cluster/database/databasesnapshotstandby/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseSnapshotStandby_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseSnapshotStandby_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSnapshotStandby_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSnapshotStandby_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_database_snapshot_standby"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_database_snapshot_standby"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseSnapshotStandby_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/databasesoftwareimage/zz_controller.go b/internal/controller/cluster/database/databasesoftwareimage/zz_controller.go index e2ff1c107..d15c9620c 100755 --- a/internal/controller/cluster/database/databasesoftwareimage/zz_controller.go +++ b/internal/controller/cluster/database/databasesoftwareimage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseSoftwareImage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseSoftwareImage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSoftwareImage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSoftwareImage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_database_software_image"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_database_software_image"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseSoftwareImage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/databasesoftwareschedulemanagement/zz_controller.go b/internal/controller/cluster/database/databasesoftwareschedulemanagement/zz_controller.go index f89339191..267252331 100755 --- a/internal/controller/cluster/database/databasesoftwareschedulemanagement/zz_controller.go +++ b/internal/controller/cluster/database/databasesoftwareschedulemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseSoftwareScheduleManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseSoftwareScheduleManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSoftwareScheduleManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSoftwareScheduleManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_database_software_schedule_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_database_software_schedule_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseSoftwareScheduleManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/databaseupgrade/zz_controller.go b/internal/controller/cluster/database/databaseupgrade/zz_controller.go index a39891803..efb48ce58 100755 --- a/internal/controller/cluster/database/databaseupgrade/zz_controller.go +++ b/internal/controller/cluster/database/databaseupgrade/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseUpgrade_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseUpgrade_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseUpgrade_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseUpgrade_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_database_upgrade"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_database_upgrade"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseUpgrade_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/dataguardassociation/zz_controller.go b/internal/controller/cluster/database/dataguardassociation/zz_controller.go index 8b8e7eeb8..9ee694e42 100755 --- a/internal/controller/cluster/database/dataguardassociation/zz_controller.go +++ b/internal/controller/cluster/database/dataguardassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataGuardAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataGuardAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataGuardAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataGuardAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_data_guard_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_data_guard_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataGuardAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/datapatch/zz_controller.go b/internal/controller/cluster/database/datapatch/zz_controller.go index fef1ba2ce..6d0ac9c17 100755 --- a/internal/controller/cluster/database/datapatch/zz_controller.go +++ b/internal/controller/cluster/database/datapatch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataPatch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataPatch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataPatch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataPatch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_data_patch"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_data_patch"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataPatch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/dbhome/zz_controller.go b/internal/controller/cluster/database/dbhome/zz_controller.go index 832048e61..c13605fe7 100755 --- a/internal/controller/cluster/database/dbhome/zz_controller.go +++ b/internal/controller/cluster/database/dbhome/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbHome_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbHome_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbHome_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbHome_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_home"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_home"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbHome_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/dbnode/zz_controller.go b/internal/controller/cluster/database/dbnode/zz_controller.go index a20b3917a..f2cbf43b8 100755 --- a/internal/controller/cluster/database/dbnode/zz_controller.go +++ b/internal/controller/cluster/database/dbnode/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbNode_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbNode_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNode_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNode_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_node"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_node"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbNode_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/dbnodeconsoleconnection/zz_controller.go b/internal/controller/cluster/database/dbnodeconsoleconnection/zz_controller.go index 6de1e76aa..5b1d7fc4d 100755 --- a/internal/controller/cluster/database/dbnodeconsoleconnection/zz_controller.go +++ b/internal/controller/cluster/database/dbnodeconsoleconnection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbNodeConsoleConnection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbNodeConsoleConnection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeConsoleConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeConsoleConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_console_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_console_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbNodeConsoleConnection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/dbnodeconsolehistory/zz_controller.go b/internal/controller/cluster/database/dbnodeconsolehistory/zz_controller.go index 4f4f83a03..0774d743e 100755 --- a/internal/controller/cluster/database/dbnodeconsolehistory/zz_controller.go +++ b/internal/controller/cluster/database/dbnodeconsolehistory/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbNodeConsoleHistory_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbNodeConsoleHistory_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeConsoleHistory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeConsoleHistory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_console_history"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_console_history"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbNodeConsoleHistory_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/dbnodesnapshot/zz_controller.go b/internal/controller/cluster/database/dbnodesnapshot/zz_controller.go index 97823cb14..fc09e6714 100755 --- a/internal/controller/cluster/database/dbnodesnapshot/zz_controller.go +++ b/internal/controller/cluster/database/dbnodesnapshot/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbNodeSnapshot_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbNodeSnapshot_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeSnapshot_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeSnapshot_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_snapshot"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_snapshot"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbNodeSnapshot_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/dbnodesnapshotmanagement/zz_controller.go b/internal/controller/cluster/database/dbnodesnapshotmanagement/zz_controller.go index 99205e6f3..37cbe4e10 100755 --- a/internal/controller/cluster/database/dbnodesnapshotmanagement/zz_controller.go +++ b/internal/controller/cluster/database/dbnodesnapshotmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbNodeSnapshotManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbNodeSnapshotManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeSnapshotManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeSnapshotManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_snapshot_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_snapshot_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbNodeSnapshotManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/dbsystem/zz_controller.go b/internal/controller/cluster/database/dbsystem/zz_controller.go index 4532a2f01..6f637e7bf 100755 --- a/internal/controller/cluster/database/dbsystem/zz_controller.go +++ b/internal/controller/cluster/database/dbsystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/dbsystemsupgrade/zz_controller.go b/internal/controller/cluster/database/dbsystemsupgrade/zz_controller.go index fe2c808ad..9937dcfb9 100755 --- a/internal/controller/cluster/database/dbsystemsupgrade/zz_controller.go +++ b/internal/controller/cluster/database/dbsystemsupgrade/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbSystemsUpgrade_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbSystemsUpgrade_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbSystemsUpgrade_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbSystemsUpgrade_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_systems_upgrade"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_systems_upgrade"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbSystemsUpgrade_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/exadatainfrastructure/zz_controller.go b/internal/controller/cluster/database/exadatainfrastructure/zz_controller.go index a80b21176..fe47e5209 100755 --- a/internal/controller/cluster/database/exadatainfrastructure/zz_controller.go +++ b/internal/controller/cluster/database/exadatainfrastructure/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadataInfrastructure_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadataInfrastructure_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadataInfrastructure_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/exadatainfrastructurecompute/zz_controller.go b/internal/controller/cluster/database/exadatainfrastructurecompute/zz_controller.go index fbb18769a..1a2af7ace 100755 --- a/internal/controller/cluster/database/exadatainfrastructurecompute/zz_controller.go +++ b/internal/controller/cluster/database/exadatainfrastructurecompute/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadataInfrastructureCompute_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadataInfrastructureCompute_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructureCompute_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructureCompute_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure_compute"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure_compute"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadataInfrastructureCompute_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/exadatainfrastructureconfigureexascalemanagement/zz_controller.go b/internal/controller/cluster/database/exadatainfrastructureconfigureexascalemanagement/zz_controller.go index c0fae902c..e28d231c5 100755 --- a/internal/controller/cluster/database/exadatainfrastructureconfigureexascalemanagement/zz_controller.go +++ b/internal/controller/cluster/database/exadatainfrastructureconfigureexascalemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadataInfrastructureConfigureExascaleManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadataInfrastructureConfigureExascaleManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructureConfigureExascaleManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructureConfigureExascaleManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure_configure_exascale_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure_configure_exascale_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadataInfrastructureConfigureExascaleManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/exadatainfrastructurestorage/zz_controller.go b/internal/controller/cluster/database/exadatainfrastructurestorage/zz_controller.go index 1ef593178..e3bd65efa 100755 --- a/internal/controller/cluster/database/exadatainfrastructurestorage/zz_controller.go +++ b/internal/controller/cluster/database/exadatainfrastructurestorage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadataInfrastructureStorage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadataInfrastructureStorage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructureStorage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructureStorage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure_storage"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure_storage"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadataInfrastructureStorage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/exadataiormconfig/zz_controller.go b/internal/controller/cluster/database/exadataiormconfig/zz_controller.go index 977377bf9..c73a4be87 100755 --- a/internal/controller/cluster/database/exadataiormconfig/zz_controller.go +++ b/internal/controller/cluster/database/exadataiormconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadataIormConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadataIormConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataIormConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataIormConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_iorm_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_iorm_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadataIormConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/exadbvmcluster/zz_controller.go b/internal/controller/cluster/database/exadbvmcluster/zz_controller.go index 20a5cc475..4719bca47 100755 --- a/internal/controller/cluster/database/exadbvmcluster/zz_controller.go +++ b/internal/controller/cluster/database/exadbvmcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadbVmCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadbVmCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadbVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadbVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exadb_vm_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exadb_vm_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadbVmCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/exascaledbstoragevault/zz_controller.go b/internal/controller/cluster/database/exascaledbstoragevault/zz_controller.go index b80a8e56e..153b1bfca 100755 --- a/internal/controller/cluster/database/exascaledbstoragevault/zz_controller.go +++ b/internal/controller/cluster/database/exascaledbstoragevault/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExascaleDbStorageVault_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExascaleDbStorageVault_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExascaleDbStorageVault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExascaleDbStorageVault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exascale_db_storage_vault"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exascale_db_storage_vault"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExascaleDbStorageVault_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/executionaction/zz_controller.go b/internal/controller/cluster/database/executionaction/zz_controller.go index 80e1a2990..0a5d2c70f 100755 --- a/internal/controller/cluster/database/executionaction/zz_controller.go +++ b/internal/controller/cluster/database/executionaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExecutionAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExecutionAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExecutionAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExecutionAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_execution_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_execution_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExecutionAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/executionwindow/zz_controller.go b/internal/controller/cluster/database/executionwindow/zz_controller.go index 63fb8df3a..6cdb86631 100755 --- a/internal/controller/cluster/database/executionwindow/zz_controller.go +++ b/internal/controller/cluster/database/executionwindow/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExecutionWindow_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExecutionWindow_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExecutionWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExecutionWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_execution_window"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_execution_window"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExecutionWindow_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/externalcontainerdatabase/zz_controller.go b/internal/controller/cluster/database/externalcontainerdatabase/zz_controller.go index 7d899884c..c07c76d2b 100755 --- a/internal/controller/cluster/database/externalcontainerdatabase/zz_controller.go +++ b/internal/controller/cluster/database/externalcontainerdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalContainerDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalContainerDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalContainerDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalContainerDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_container_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_container_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalContainerDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/externalcontainerdatabasemanagement/zz_controller.go b/internal/controller/cluster/database/externalcontainerdatabasemanagement/zz_controller.go index dc88e7bd2..3b09502fe 100755 --- a/internal/controller/cluster/database/externalcontainerdatabasemanagement/zz_controller.go +++ b/internal/controller/cluster/database/externalcontainerdatabasemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalContainerDatabaseManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalContainerDatabaseManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalContainerDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalContainerDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_container_database_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_container_database_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalContainerDatabaseManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/externalcontainerdatabasesstackmonitoring/zz_controller.go b/internal/controller/cluster/database/externalcontainerdatabasesstackmonitoring/zz_controller.go index 692b36c86..4e0634686 100755 --- a/internal/controller/cluster/database/externalcontainerdatabasesstackmonitoring/zz_controller.go +++ b/internal/controller/cluster/database/externalcontainerdatabasesstackmonitoring/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalcontainerdatabasesStackMonitoring_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalcontainerdatabasesStackMonitoring_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalcontainerdatabasesStackMonitoring_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalcontainerdatabasesStackMonitoring_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_externalcontainerdatabases_stack_monitoring"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_externalcontainerdatabases_stack_monitoring"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalcontainerdatabasesStackMonitoring_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/externaldatabaseconnector/zz_controller.go b/internal/controller/cluster/database/externaldatabaseconnector/zz_controller.go index f37a16f86..db4c6407f 100755 --- a/internal/controller/cluster/database/externaldatabaseconnector/zz_controller.go +++ b/internal/controller/cluster/database/externaldatabaseconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalDatabaseConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalDatabaseConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalDatabaseConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalDatabaseConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_database_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_database_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalDatabaseConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/externalnoncontainerdatabase/zz_controller.go b/internal/controller/cluster/database/externalnoncontainerdatabase/zz_controller.go index 83421ebb9..22a36a4ba 100755 --- a/internal/controller/cluster/database/externalnoncontainerdatabase/zz_controller.go +++ b/internal/controller/cluster/database/externalnoncontainerdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalNonContainerDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalNonContainerDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalNonContainerDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalNonContainerDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_non_container_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_non_container_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalNonContainerDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/externalnoncontainerdatabasemanagement/zz_controller.go b/internal/controller/cluster/database/externalnoncontainerdatabasemanagement/zz_controller.go index 092ef6712..28c0f34c1 100755 --- a/internal/controller/cluster/database/externalnoncontainerdatabasemanagement/zz_controller.go +++ b/internal/controller/cluster/database/externalnoncontainerdatabasemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalNonContainerDatabaseManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalNonContainerDatabaseManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalNonContainerDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalNonContainerDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_non_container_database_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_non_container_database_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalNonContainerDatabaseManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/externalnoncontainerdatabaseoperationsinsightsmanagement/zz_controller.go b/internal/controller/cluster/database/externalnoncontainerdatabaseoperationsinsightsmanagement/zz_controller.go index 3c9217280..0bc004637 100755 --- a/internal/controller/cluster/database/externalnoncontainerdatabaseoperationsinsightsmanagement/zz_controller.go +++ b/internal/controller/cluster/database/externalnoncontainerdatabaseoperationsinsightsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalNonContainerDatabaseOperationsInsightsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalNonContainerDatabaseOperationsInsightsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalNonContainerDatabaseOperationsInsightsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalNonContainerDatabaseOperationsInsightsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_non_container_database_operations_insights_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_non_container_database_operations_insights_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalNonContainerDatabaseOperationsInsightsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/externalnoncontainerdatabasesstackmonitoring/zz_controller.go b/internal/controller/cluster/database/externalnoncontainerdatabasesstackmonitoring/zz_controller.go index afb45f672..688b77d8e 100755 --- a/internal/controller/cluster/database/externalnoncontainerdatabasesstackmonitoring/zz_controller.go +++ b/internal/controller/cluster/database/externalnoncontainerdatabasesstackmonitoring/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalnoncontainerdatabasesStackMonitoring_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalnoncontainerdatabasesStackMonitoring_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalnoncontainerdatabasesStackMonitoring_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalnoncontainerdatabasesStackMonitoring_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_externalnoncontainerdatabases_stack_monitoring"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_externalnoncontainerdatabases_stack_monitoring"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalnoncontainerdatabasesStackMonitoring_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/externalpluggabledatabase/zz_controller.go b/internal/controller/cluster/database/externalpluggabledatabase/zz_controller.go index d87b9b66f..d0d04b661 100755 --- a/internal/controller/cluster/database/externalpluggabledatabase/zz_controller.go +++ b/internal/controller/cluster/database/externalpluggabledatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalPluggableDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalPluggableDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalPluggableDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalPluggableDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_pluggable_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_pluggable_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalPluggableDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/externalpluggabledatabasemanagement/zz_controller.go b/internal/controller/cluster/database/externalpluggabledatabasemanagement/zz_controller.go index 1054765c8..62f0eaef1 100755 --- a/internal/controller/cluster/database/externalpluggabledatabasemanagement/zz_controller.go +++ b/internal/controller/cluster/database/externalpluggabledatabasemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalPluggableDatabaseManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalPluggableDatabaseManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalPluggableDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalPluggableDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_pluggable_database_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_pluggable_database_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalPluggableDatabaseManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/externalpluggabledatabaseoperationsinsightsmanagement/zz_controller.go b/internal/controller/cluster/database/externalpluggabledatabaseoperationsinsightsmanagement/zz_controller.go index c760f66cb..f6ed1c4bd 100755 --- a/internal/controller/cluster/database/externalpluggabledatabaseoperationsinsightsmanagement/zz_controller.go +++ b/internal/controller/cluster/database/externalpluggabledatabaseoperationsinsightsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalPluggableDatabaseOperationsInsightsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalPluggableDatabaseOperationsInsightsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalPluggableDatabaseOperationsInsightsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalPluggableDatabaseOperationsInsightsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_pluggable_database_operations_insights_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_pluggable_database_operations_insights_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalPluggableDatabaseOperationsInsightsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/externalpluggabledatabasesstackmonitoring/zz_controller.go b/internal/controller/cluster/database/externalpluggabledatabasesstackmonitoring/zz_controller.go index dc9084315..afb97e024 100755 --- a/internal/controller/cluster/database/externalpluggabledatabasesstackmonitoring/zz_controller.go +++ b/internal/controller/cluster/database/externalpluggabledatabasesstackmonitoring/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalpluggabledatabasesStackMonitoring_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalpluggabledatabasesStackMonitoring_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalpluggabledatabasesStackMonitoring_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalpluggabledatabasesStackMonitoring_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_externalpluggabledatabases_stack_monitoring"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_externalpluggabledatabases_stack_monitoring"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalpluggabledatabasesStackMonitoring_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/keystore/zz_controller.go b/internal/controller/cluster/database/keystore/zz_controller.go index d26f0f82e..3eb7a67e2 100755 --- a/internal/controller/cluster/database/keystore/zz_controller.go +++ b/internal/controller/cluster/database/keystore/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KeyStore_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KeyStore_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KeyStore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KeyStore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_key_store"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_key_store"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KeyStore_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/maintenancerun/zz_controller.go b/internal/controller/cluster/database/maintenancerun/zz_controller.go index ef39ee56d..b79a70fef 100755 --- a/internal/controller/cluster/database/maintenancerun/zz_controller.go +++ b/internal/controller/cluster/database/maintenancerun/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaintenanceRun_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaintenanceRun_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_maintenance_run"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_maintenance_run"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaintenanceRun_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementautonomousdatabasedbmfeaturesmanagement/zz_controller.go b/internal/controller/cluster/database/managementautonomousdatabasedbmfeaturesmanagement/zz_controller.go index 34aad5024..37b1b5d69 100755 --- a/internal/controller/cluster/database/managementautonomousdatabasedbmfeaturesmanagement/zz_controller.go +++ b/internal/controller/cluster/database/managementautonomousdatabasedbmfeaturesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementAutonomousDatabaseDbmFeaturesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementAutonomousDatabaseDbmFeaturesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAutonomousDatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAutonomousDatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_autonomous_database_autonomous_database_dbm_features_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_autonomous_database_autonomous_database_dbm_features_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementAutonomousDatabaseDbmFeaturesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementcloudasm/zz_controller.go b/internal/controller/cluster/database/managementcloudasm/zz_controller.go index 02ddd0359..5cee67745 100755 --- a/internal/controller/cluster/database/managementcloudasm/zz_controller.go +++ b/internal/controller/cluster/database/managementcloudasm/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudAsm_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudAsm_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudAsm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudAsm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_asm"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_asm"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudAsm_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementcloudasminstance/zz_controller.go b/internal/controller/cluster/database/managementcloudasminstance/zz_controller.go index 6bd7ba3a9..3469280b3 100755 --- a/internal/controller/cluster/database/managementcloudasminstance/zz_controller.go +++ b/internal/controller/cluster/database/managementcloudasminstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudAsmInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudAsmInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudAsmInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudAsmInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_asm_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_asm_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudAsmInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementcloudcluster/zz_controller.go b/internal/controller/cluster/database/managementcloudcluster/zz_controller.go index af56765bf..5b29b080f 100755 --- a/internal/controller/cluster/database/managementcloudcluster/zz_controller.go +++ b/internal/controller/cluster/database/managementcloudcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementcloudclusterinstance/zz_controller.go b/internal/controller/cluster/database/managementcloudclusterinstance/zz_controller.go index e8a3bb6e6..805eebd53 100755 --- a/internal/controller/cluster/database/managementcloudclusterinstance/zz_controller.go +++ b/internal/controller/cluster/database/managementcloudclusterinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudClusterInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudClusterInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudClusterInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudClusterInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_cluster_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_cluster_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudClusterInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementclouddbhome/zz_controller.go b/internal/controller/cluster/database/managementclouddbhome/zz_controller.go index 7b534df15..d0f96e928 100755 --- a/internal/controller/cluster/database/managementclouddbhome/zz_controller.go +++ b/internal/controller/cluster/database/managementclouddbhome/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbHome_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbHome_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbHome_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbHome_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_home"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_home"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbHome_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementclouddbnode/zz_controller.go b/internal/controller/cluster/database/managementclouddbnode/zz_controller.go index fa16ce2df..18e3ba5bc 100755 --- a/internal/controller/cluster/database/managementclouddbnode/zz_controller.go +++ b/internal/controller/cluster/database/managementclouddbnode/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbNode_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbNode_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbNode_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbNode_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_node"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_node"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbNode_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementclouddbsystem/zz_controller.go b/internal/controller/cluster/database/managementclouddbsystem/zz_controller.go index 4258045d7..6d5b9090f 100755 --- a/internal/controller/cluster/database/managementclouddbsystem/zz_controller.go +++ b/internal/controller/cluster/database/managementclouddbsystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementclouddbsystemclouddatabasemanagementsmanagement/zz_controller.go b/internal/controller/cluster/database/managementclouddbsystemclouddatabasemanagementsmanagement/zz_controller.go index da59eb763..80ff4bb9e 100755 --- a/internal/controller/cluster/database/managementclouddbsystemclouddatabasemanagementsmanagement/zz_controller.go +++ b/internal/controller/cluster/database/managementclouddbsystemclouddatabasemanagementsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbSystemCloudDatabaseManagementsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbSystemCloudDatabaseManagementsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemCloudDatabaseManagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemCloudDatabaseManagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_cloud_database_managements_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_cloud_database_managements_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbSystemCloudDatabaseManagementsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementclouddbsystemcloudstackmonitoringsmanagement/zz_controller.go b/internal/controller/cluster/database/managementclouddbsystemcloudstackmonitoringsmanagement/zz_controller.go index 04c2e07cc..19a3c2dc2 100755 --- a/internal/controller/cluster/database/managementclouddbsystemcloudstackmonitoringsmanagement/zz_controller.go +++ b/internal/controller/cluster/database/managementclouddbsystemcloudstackmonitoringsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbSystemCloudStackMonitoringsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbSystemCloudStackMonitoringsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemCloudStackMonitoringsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemCloudStackMonitoringsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_cloud_stack_monitorings_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_cloud_stack_monitorings_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbSystemCloudStackMonitoringsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementclouddbsystemconnector/zz_controller.go b/internal/controller/cluster/database/managementclouddbsystemconnector/zz_controller.go index c81c51f1b..1b5e7f350 100755 --- a/internal/controller/cluster/database/managementclouddbsystemconnector/zz_controller.go +++ b/internal/controller/cluster/database/managementclouddbsystemconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbSystemConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbSystemConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbSystemConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementclouddbsystemdiscovery/zz_controller.go b/internal/controller/cluster/database/managementclouddbsystemdiscovery/zz_controller.go index 5cc4c7c07..c0902a157 100755 --- a/internal/controller/cluster/database/managementclouddbsystemdiscovery/zz_controller.go +++ b/internal/controller/cluster/database/managementclouddbsystemdiscovery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbSystemDiscovery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbSystemDiscovery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemDiscovery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemDiscovery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_discovery"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_discovery"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbSystemDiscovery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementcloudexadatainfrastructure/zz_controller.go b/internal/controller/cluster/database/managementcloudexadatainfrastructure/zz_controller.go index 5e4125fb4..32d183e13 100755 --- a/internal/controller/cluster/database/managementcloudexadatainfrastructure/zz_controller.go +++ b/internal/controller/cluster/database/managementcloudexadatainfrastructure/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudExadataInfrastructure_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudExadataInfrastructure_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_infrastructure"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_infrastructure"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudExadataInfrastructure_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementcloudexadatainfrastructuremanagedexadata/zz_controller.go b/internal/controller/cluster/database/managementcloudexadatainfrastructuremanagedexadata/zz_controller.go index 60e3a24a1..5c3710326 100755 --- a/internal/controller/cluster/database/managementcloudexadatainfrastructuremanagedexadata/zz_controller.go +++ b/internal/controller/cluster/database/managementcloudexadatainfrastructuremanagedexadata/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudExadataInfrastructureManagedexadata_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudExadataInfrastructureManagedexadata_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataInfrastructureManagedexadata_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataInfrastructureManagedexadata_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_infrastructure_managedexadata_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_infrastructure_managedexadata_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudExadataInfrastructureManagedexadata_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementcloudexadatastorageconnector/zz_controller.go b/internal/controller/cluster/database/managementcloudexadatastorageconnector/zz_controller.go index 4f6d99136..4666ca2c2 100755 --- a/internal/controller/cluster/database/managementcloudexadatastorageconnector/zz_controller.go +++ b/internal/controller/cluster/database/managementcloudexadatastorageconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudExadataStorageConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudExadataStorageConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataStorageConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataStorageConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_storage_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_storage_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudExadataStorageConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementcloudexadatastoragegrid/zz_controller.go b/internal/controller/cluster/database/managementcloudexadatastoragegrid/zz_controller.go index e91665d6e..8275b1ec2 100755 --- a/internal/controller/cluster/database/managementcloudexadatastoragegrid/zz_controller.go +++ b/internal/controller/cluster/database/managementcloudexadatastoragegrid/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudExadataStorageGrid_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudExadataStorageGrid_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataStorageGrid_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataStorageGrid_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_storage_grid"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_storage_grid"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudExadataStorageGrid_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementcloudexadatastorageserver/zz_controller.go b/internal/controller/cluster/database/managementcloudexadatastorageserver/zz_controller.go index 9e5144f82..fbe1775f6 100755 --- a/internal/controller/cluster/database/managementcloudexadatastorageserver/zz_controller.go +++ b/internal/controller/cluster/database/managementcloudexadatastorageserver/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudExadataStorageServer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudExadataStorageServer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataStorageServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataStorageServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_storage_server"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_storage_server"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudExadataStorageServer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementcloudlistener/zz_controller.go b/internal/controller/cluster/database/managementcloudlistener/zz_controller.go index d8e6ad71c..31d8e1b70 100755 --- a/internal/controller/cluster/database/managementcloudlistener/zz_controller.go +++ b/internal/controller/cluster/database/managementcloudlistener/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudListener_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudListener_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudListener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudListener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_listener"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_listener"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudListener_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementdatabasedbmfeaturesmanagement/zz_controller.go b/internal/controller/cluster/database/managementdatabasedbmfeaturesmanagement/zz_controller.go index 5ff729b42..450e890bc 100755 --- a/internal/controller/cluster/database/managementdatabasedbmfeaturesmanagement/zz_controller.go +++ b/internal/controller/cluster/database/managementdatabasedbmfeaturesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementDatabaseDbmFeaturesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementDatabaseDbmFeaturesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementDatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementDatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_database_dbm_features_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_database_dbm_features_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementDatabaseDbmFeaturesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementdbmanagementprivateendpoint/zz_controller.go b/internal/controller/cluster/database/managementdbmanagementprivateendpoint/zz_controller.go index 4d63e43c1..d8b028c30 100755 --- a/internal/controller/cluster/database/managementdbmanagementprivateendpoint/zz_controller.go +++ b/internal/controller/cluster/database/managementdbmanagementprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementDbManagementPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementDbManagementPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementDbManagementPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementDbManagementPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_db_management_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_db_management_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementDbManagementPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalasm/zz_controller.go b/internal/controller/cluster/database/managementexternalasm/zz_controller.go index 865924e00..d2a0b5daa 100755 --- a/internal/controller/cluster/database/managementexternalasm/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalasm/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalAsm_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalAsm_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalAsm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalAsm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_asm"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_asm"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalAsm_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalasminstance/zz_controller.go b/internal/controller/cluster/database/managementexternalasminstance/zz_controller.go index 608245380..5211068a3 100755 --- a/internal/controller/cluster/database/managementexternalasminstance/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalasminstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalAsmInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalAsmInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalAsmInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalAsmInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_asm_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_asm_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalAsmInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalcluster/zz_controller.go b/internal/controller/cluster/database/managementexternalcluster/zz_controller.go index 3a1803c99..16f34031f 100755 --- a/internal/controller/cluster/database/managementexternalcluster/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalclusterinstance/zz_controller.go b/internal/controller/cluster/database/managementexternalclusterinstance/zz_controller.go index 68506a8aa..619c41178 100755 --- a/internal/controller/cluster/database/managementexternalclusterinstance/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalclusterinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalClusterInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalClusterInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalClusterInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalClusterInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_cluster_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_cluster_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalClusterInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalcontainerdatabasedbmfeaturesmanagement/zz_controller.go b/internal/controller/cluster/database/managementexternalcontainerdatabasedbmfeaturesmanagement/zz_controller.go index b905473a8..d4bfd691a 100755 --- a/internal/controller/cluster/database/managementexternalcontainerdatabasedbmfeaturesmanagement/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalcontainerdatabasedbmfeaturesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalcontainerdatabaseDbmFeaturesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalcontainerdatabaseDbmFeaturesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalcontainerdatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalcontainerdatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_externalcontainerdatabase_external_container_dbm_features_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_externalcontainerdatabase_external_container_dbm_features_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalcontainerdatabaseDbmFeaturesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternaldbhome/zz_controller.go b/internal/controller/cluster/database/managementexternaldbhome/zz_controller.go index 023805a46..104380099 100755 --- a/internal/controller/cluster/database/managementexternaldbhome/zz_controller.go +++ b/internal/controller/cluster/database/managementexternaldbhome/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbHome_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbHome_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbHome_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbHome_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_home"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_home"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbHome_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternaldbnode/zz_controller.go b/internal/controller/cluster/database/managementexternaldbnode/zz_controller.go index e062c8d5e..a4a35bc20 100755 --- a/internal/controller/cluster/database/managementexternaldbnode/zz_controller.go +++ b/internal/controller/cluster/database/managementexternaldbnode/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbNode_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbNode_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbNode_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbNode_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_node"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_node"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbNode_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternaldbsystem/zz_controller.go b/internal/controller/cluster/database/managementexternaldbsystem/zz_controller.go index 22e589a01..182a43b5d 100755 --- a/internal/controller/cluster/database/managementexternaldbsystem/zz_controller.go +++ b/internal/controller/cluster/database/managementexternaldbsystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternaldbsystemconnector/zz_controller.go b/internal/controller/cluster/database/managementexternaldbsystemconnector/zz_controller.go index dfd86b357..1f2f275fe 100755 --- a/internal/controller/cluster/database/managementexternaldbsystemconnector/zz_controller.go +++ b/internal/controller/cluster/database/managementexternaldbsystemconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbSystemConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbSystemConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbSystemConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternaldbsystemdatabasemanagementsmanagement/zz_controller.go b/internal/controller/cluster/database/managementexternaldbsystemdatabasemanagementsmanagement/zz_controller.go index a2b4174ba..f6429c84d 100755 --- a/internal/controller/cluster/database/managementexternaldbsystemdatabasemanagementsmanagement/zz_controller.go +++ b/internal/controller/cluster/database/managementexternaldbsystemdatabasemanagementsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbSystemDatabaseManagementsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbSystemDatabaseManagementsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemDatabaseManagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemDatabaseManagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_database_managements_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_database_managements_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbSystemDatabaseManagementsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternaldbsystemdiscovery/zz_controller.go b/internal/controller/cluster/database/managementexternaldbsystemdiscovery/zz_controller.go index 9c791a7aa..8355c4dd2 100755 --- a/internal/controller/cluster/database/managementexternaldbsystemdiscovery/zz_controller.go +++ b/internal/controller/cluster/database/managementexternaldbsystemdiscovery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbSystemDiscovery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbSystemDiscovery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemDiscovery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemDiscovery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_discovery"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_discovery"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbSystemDiscovery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternaldbsystemstackmonitoringsmanagement/zz_controller.go b/internal/controller/cluster/database/managementexternaldbsystemstackmonitoringsmanagement/zz_controller.go index b0540f7b7..14ba04043 100755 --- a/internal/controller/cluster/database/managementexternaldbsystemstackmonitoringsmanagement/zz_controller.go +++ b/internal/controller/cluster/database/managementexternaldbsystemstackmonitoringsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbSystemStackMonitoringsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbSystemStackMonitoringsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemStackMonitoringsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemStackMonitoringsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_stack_monitorings_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_stack_monitorings_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbSystemStackMonitoringsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalexadatainfrastructure/zz_controller.go b/internal/controller/cluster/database/managementexternalexadatainfrastructure/zz_controller.go index e1574cfaa..9a72e81b4 100755 --- a/internal/controller/cluster/database/managementexternalexadatainfrastructure/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalexadatainfrastructure/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalExadataInfrastructure_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalExadataInfrastructure_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_infrastructure"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_infrastructure"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalExadataInfrastructure_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalexadatainfrastructureexadatamanagement/zz_controller.go b/internal/controller/cluster/database/managementexternalexadatainfrastructureexadatamanagement/zz_controller.go index 1418f2119..fa16a4a49 100755 --- a/internal/controller/cluster/database/managementexternalexadatainfrastructureexadatamanagement/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalexadatainfrastructureexadatamanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalExadataInfrastructureExadataManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalExadataInfrastructureExadataManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataInfrastructureExadataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataInfrastructureExadataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_infrastructure_exadata_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_infrastructure_exadata_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalExadataInfrastructureExadataManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalexadatastorageconnector/zz_controller.go b/internal/controller/cluster/database/managementexternalexadatastorageconnector/zz_controller.go index 60d40ae83..dc4585c3a 100755 --- a/internal/controller/cluster/database/managementexternalexadatastorageconnector/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalexadatastorageconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalExadataStorageConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalExadataStorageConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataStorageConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataStorageConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_storage_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_storage_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalExadataStorageConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalexadatastoragegrid/zz_controller.go b/internal/controller/cluster/database/managementexternalexadatastoragegrid/zz_controller.go index cd3809140..a460a1e64 100755 --- a/internal/controller/cluster/database/managementexternalexadatastoragegrid/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalexadatastoragegrid/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalExadataStorageGrid_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalExadataStorageGrid_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataStorageGrid_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataStorageGrid_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_storage_grid"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_storage_grid"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalExadataStorageGrid_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalexadatastorageserver/zz_controller.go b/internal/controller/cluster/database/managementexternalexadatastorageserver/zz_controller.go index a7427a2a5..5887e8d61 100755 --- a/internal/controller/cluster/database/managementexternalexadatastorageserver/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalexadatastorageserver/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalExadataStorageServer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalExadataStorageServer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataStorageServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataStorageServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_storage_server"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_storage_server"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalExadataStorageServer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternallistener/zz_controller.go b/internal/controller/cluster/database/managementexternallistener/zz_controller.go index 8c34c41e8..83690b935 100755 --- a/internal/controller/cluster/database/managementexternallistener/zz_controller.go +++ b/internal/controller/cluster/database/managementexternallistener/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalListener_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalListener_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalListener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalListener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_listener"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_listener"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalListener_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalmysqldatabase/zz_controller.go b/internal/controller/cluster/database/managementexternalmysqldatabase/zz_controller.go index d7712e267..0020cb50a 100755 --- a/internal/controller/cluster/database/managementexternalmysqldatabase/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalmysqldatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalMySqlDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalMySqlDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalMySqlDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalMySqlDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_my_sql_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_my_sql_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalMySqlDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalmysqldatabaseconnector/zz_controller.go b/internal/controller/cluster/database/managementexternalmysqldatabaseconnector/zz_controller.go index dadf190c8..4b4af5d99 100755 --- a/internal/controller/cluster/database/managementexternalmysqldatabaseconnector/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalmysqldatabaseconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalMySqlDatabaseConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalMySqlDatabaseConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalMySqlDatabaseConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalMySqlDatabaseConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_my_sql_database_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_my_sql_database_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalMySqlDatabaseConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalmysqldatabaseexternalmysqldatabases/zz_controller.go b/internal/controller/cluster/database/managementexternalmysqldatabaseexternalmysqldatabases/zz_controller.go index d3884d7f0..cf825d7fe 100755 --- a/internal/controller/cluster/database/managementexternalmysqldatabaseexternalmysqldatabases/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalmysqldatabaseexternalmysqldatabases/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalMySqlDatabaseExternalMysqlDatabases_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalMySqlDatabaseExternalMysqlDatabases_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalMySqlDatabaseExternalMysqlDatabases_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalMySqlDatabaseExternalMysqlDatabases_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_my_sql_database_external_mysql_databases_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_my_sql_database_external_mysql_databases_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalMySqlDatabaseExternalMysqlDatabases_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalnoncontainerdatabasedbmfeaturesmanagement/zz_controller.go b/internal/controller/cluster/database/managementexternalnoncontainerdatabasedbmfeaturesmanagement/zz_controller.go index 76e92bd49..d2ec617a3 100755 --- a/internal/controller/cluster/database/managementexternalnoncontainerdatabasedbmfeaturesmanagement/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalnoncontainerdatabasedbmfeaturesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalnoncontainerdatabaseDbmFeaturesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalnoncontainerdatabaseDbmFeaturesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalnoncontainerdatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalnoncontainerdatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_externalnoncontainerdatabase_external_non_container_dbm_features_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_externalnoncontainerdatabase_external_non_container_dbm_features_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalnoncontainerdatabaseDbmFeaturesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementexternalpluggabledatabasedbmfeaturesmanagement/zz_controller.go b/internal/controller/cluster/database/managementexternalpluggabledatabasedbmfeaturesmanagement/zz_controller.go index 3c7822f11..2006b03f6 100755 --- a/internal/controller/cluster/database/managementexternalpluggabledatabasedbmfeaturesmanagement/zz_controller.go +++ b/internal/controller/cluster/database/managementexternalpluggabledatabasedbmfeaturesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalpluggabledatabaseDbmFeaturesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalpluggabledatabaseDbmFeaturesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalpluggabledatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalpluggabledatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_externalpluggabledatabase_external_pluggable_dbm_features_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_externalpluggabledatabase_external_pluggable_dbm_features_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalpluggabledatabaseDbmFeaturesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementmanageddatabase/zz_controller.go b/internal/controller/cluster/database/managementmanageddatabase/zz_controller.go index 434f1fae9..d688e5e75 100755 --- a/internal/controller/cluster/database/managementmanageddatabase/zz_controller.go +++ b/internal/controller/cluster/database/managementmanageddatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementManagedDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementManagedDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementManagedDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementmanageddatabasegroup/zz_controller.go b/internal/controller/cluster/database/managementmanageddatabasegroup/zz_controller.go index cd4612229..f300143e2 100755 --- a/internal/controller/cluster/database/managementmanageddatabasegroup/zz_controller.go +++ b/internal/controller/cluster/database/managementmanageddatabasegroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementManagedDatabaseGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementManagedDatabaseGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabaseGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabaseGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_database_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_database_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementManagedDatabaseGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementmanageddatabaseschangedatabaseparameter/zz_controller.go b/internal/controller/cluster/database/managementmanageddatabaseschangedatabaseparameter/zz_controller.go index 4e0de7538..2f6889c27 100755 --- a/internal/controller/cluster/database/managementmanageddatabaseschangedatabaseparameter/zz_controller.go +++ b/internal/controller/cluster/database/managementmanageddatabaseschangedatabaseparameter/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementManagedDatabasesChangeDatabaseParameter_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementManagedDatabasesChangeDatabaseParameter_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabasesChangeDatabaseParameter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabasesChangeDatabaseParameter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_databases_change_database_parameter"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_databases_change_database_parameter"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementManagedDatabasesChangeDatabaseParameter_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementmanageddatabasesresetdatabaseparameter/zz_controller.go b/internal/controller/cluster/database/managementmanageddatabasesresetdatabaseparameter/zz_controller.go index 7601aa9a8..bec91ece9 100755 --- a/internal/controller/cluster/database/managementmanageddatabasesresetdatabaseparameter/zz_controller.go +++ b/internal/controller/cluster/database/managementmanageddatabasesresetdatabaseparameter/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementManagedDatabasesResetDatabaseParameter_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementManagedDatabasesResetDatabaseParameter_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabasesResetDatabaseParameter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabasesResetDatabaseParameter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_databases_reset_database_parameter"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_databases_reset_database_parameter"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementManagedDatabasesResetDatabaseParameter_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementnamedcredential/zz_controller.go b/internal/controller/cluster/database/managementnamedcredential/zz_controller.go index d05f98ed8..eae2282e2 100755 --- a/internal/controller/cluster/database/managementnamedcredential/zz_controller.go +++ b/internal/controller/cluster/database/managementnamedcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementNamedCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementNamedCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementNamedCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementNamedCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_named_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_named_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementNamedCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/managementpluggabledatabasedbmfeaturesmanagement/zz_controller.go b/internal/controller/cluster/database/managementpluggabledatabasedbmfeaturesmanagement/zz_controller.go index 08f194435..81a274a8d 100755 --- a/internal/controller/cluster/database/managementpluggabledatabasedbmfeaturesmanagement/zz_controller.go +++ b/internal/controller/cluster/database/managementpluggabledatabasedbmfeaturesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementPluggabledatabaseDbmFeaturesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementPluggabledatabaseDbmFeaturesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementPluggabledatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementPluggabledatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementPluggabledatabaseDbmFeaturesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/migration/zz_controller.go b/internal/controller/cluster/database/migration/zz_controller.go index bba60d81a..bf281a5fe 100755 --- a/internal/controller/cluster/database/migration/zz_controller.go +++ b/internal/controller/cluster/database/migration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Migration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Migration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Migration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Migration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Migration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/migrationassessment/zz_controller.go b/internal/controller/cluster/database/migrationassessment/zz_controller.go index a601a18b6..64c556f17 100755 --- a/internal/controller/cluster/database/migrationassessment/zz_controller.go +++ b/internal/controller/cluster/database/migrationassessment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationAssessment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationAssessment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration_assessment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration_assessment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationAssessment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/migrationassessmentassessoraction/zz_controller.go b/internal/controller/cluster/database/migrationassessmentassessoraction/zz_controller.go index ba6814aee..296015f57 100755 --- a/internal/controller/cluster/database/migrationassessmentassessoraction/zz_controller.go +++ b/internal/controller/cluster/database/migrationassessmentassessoraction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationAssessmentAssessorAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationAssessmentAssessorAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationAssessmentAssessorAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationAssessmentAssessorAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration_assessment_assessor_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration_assessment_assessor_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationAssessmentAssessorAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/migrationconnection/zz_controller.go b/internal/controller/cluster/database/migrationconnection/zz_controller.go index 75760efdf..1cd2967b7 100755 --- a/internal/controller/cluster/database/migrationconnection/zz_controller.go +++ b/internal/controller/cluster/database/migrationconnection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationConnection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationConnection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationConnection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/migrationjob/zz_controller.go b/internal/controller/cluster/database/migrationjob/zz_controller.go index 2bc7b70e6..d431ff2aa 100755 --- a/internal/controller/cluster/database/migrationjob/zz_controller.go +++ b/internal/controller/cluster/database/migrationjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/migrationjobadvisorreportcheck/zz_controller.go b/internal/controller/cluster/database/migrationjobadvisorreportcheck/zz_controller.go index 0d5d39dbc..0ca527a01 100755 --- a/internal/controller/cluster/database/migrationjobadvisorreportcheck/zz_controller.go +++ b/internal/controller/cluster/database/migrationjobadvisorreportcheck/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationJobAdvisorReportCheck_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationJobAdvisorReportCheck_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationJobAdvisorReportCheck_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationJobAdvisorReportCheck_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration_job_advisor_report_check"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration_job_advisor_report_check"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationJobAdvisorReportCheck_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/migrationmigration/zz_controller.go b/internal/controller/cluster/database/migrationmigration/zz_controller.go index 20bf2e9bf..179941619 100755 --- a/internal/controller/cluster/database/migrationmigration/zz_controller.go +++ b/internal/controller/cluster/database/migrationmigration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationMigration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationMigration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationMigration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationMigration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration_migration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration_migration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationMigration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/oneoffpatch/zz_controller.go b/internal/controller/cluster/database/oneoffpatch/zz_controller.go index f30e346e4..f9b3fb64c 100755 --- a/internal/controller/cluster/database/oneoffpatch/zz_controller.go +++ b/internal/controller/cluster/database/oneoffpatch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OneoffPatch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OneoffPatch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OneoffPatch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OneoffPatch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_oneoff_patch"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_oneoff_patch"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OneoffPatch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/pluggabledatabase/zz_controller.go b/internal/controller/cluster/database/pluggabledatabase/zz_controller.go index 872a87973..7b3bdc859 100755 --- a/internal/controller/cluster/database/pluggabledatabase/zz_controller.go +++ b/internal/controller/cluster/database/pluggabledatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PluggableDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PluggableDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PluggableDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/pluggabledatabasepluggabledatabasemanagementsmanagement/zz_controller.go b/internal/controller/cluster/database/pluggabledatabasepluggabledatabasemanagementsmanagement/zz_controller.go index f5d15ab6c..6cf5dde41 100755 --- a/internal/controller/cluster/database/pluggabledatabasepluggabledatabasemanagementsmanagement/zz_controller.go +++ b/internal/controller/cluster/database/pluggabledatabasepluggabledatabasemanagementsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PluggableDatabasePluggabledatabasemanagementsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PluggableDatabasePluggabledatabasemanagementsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabasePluggabledatabasemanagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabasePluggabledatabasemanagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_database_pluggabledatabasemanagements_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_database_pluggabledatabasemanagements_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PluggableDatabasePluggabledatabasemanagementsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/pluggabledatabaseslocalclone/zz_controller.go b/internal/controller/cluster/database/pluggabledatabaseslocalclone/zz_controller.go index e32e29df3..e276fe7d8 100755 --- a/internal/controller/cluster/database/pluggabledatabaseslocalclone/zz_controller.go +++ b/internal/controller/cluster/database/pluggabledatabaseslocalclone/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PluggableDatabasesLocalClone_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PluggableDatabasesLocalClone_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabasesLocalClone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabasesLocalClone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_databases_local_clone"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_databases_local_clone"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PluggableDatabasesLocalClone_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/pluggabledatabasesnapshot/zz_controller.go b/internal/controller/cluster/database/pluggabledatabasesnapshot/zz_controller.go index e6fbc3b82..7d7cec6d2 100755 --- a/internal/controller/cluster/database/pluggabledatabasesnapshot/zz_controller.go +++ b/internal/controller/cluster/database/pluggabledatabasesnapshot/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PluggableDatabaseSnapshot_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PluggableDatabaseSnapshot_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabaseSnapshot_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabaseSnapshot_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_database_snapshot"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_database_snapshot"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PluggableDatabaseSnapshot_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/pluggabledatabasesremoteclone/zz_controller.go b/internal/controller/cluster/database/pluggabledatabasesremoteclone/zz_controller.go index cb9944c1f..1b98b2e13 100755 --- a/internal/controller/cluster/database/pluggabledatabasesremoteclone/zz_controller.go +++ b/internal/controller/cluster/database/pluggabledatabasesremoteclone/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PluggableDatabasesRemoteClone_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PluggableDatabasesRemoteClone_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabasesRemoteClone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabasesRemoteClone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_databases_remote_clone"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_databases_remote_clone"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PluggableDatabasesRemoteClone_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/scheduledaction/zz_controller.go b/internal/controller/cluster/database/scheduledaction/zz_controller.go index 4d3ec0f20..1cd4e27f1 100755 --- a/internal/controller/cluster/database/scheduledaction/zz_controller.go +++ b/internal/controller/cluster/database/scheduledaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ScheduledAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ScheduledAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ScheduledAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ScheduledAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_scheduled_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_scheduled_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ScheduledAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/schedulingplan/zz_controller.go b/internal/controller/cluster/database/schedulingplan/zz_controller.go index 51e1d441a..7903f6cce 100755 --- a/internal/controller/cluster/database/schedulingplan/zz_controller.go +++ b/internal/controller/cluster/database/schedulingplan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SchedulingPlan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SchedulingPlan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulingPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulingPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_scheduling_plan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_scheduling_plan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SchedulingPlan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/schedulingpolicy/zz_controller.go b/internal/controller/cluster/database/schedulingpolicy/zz_controller.go index 07b0acf2c..b8282ac13 100755 --- a/internal/controller/cluster/database/schedulingpolicy/zz_controller.go +++ b/internal/controller/cluster/database/schedulingpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SchedulingPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SchedulingPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulingPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulingPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_scheduling_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_scheduling_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SchedulingPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/schedulingpolicyschedulingwindow/zz_controller.go b/internal/controller/cluster/database/schedulingpolicyschedulingwindow/zz_controller.go index c30b264fe..f5f458fdf 100755 --- a/internal/controller/cluster/database/schedulingpolicyschedulingwindow/zz_controller.go +++ b/internal/controller/cluster/database/schedulingpolicyschedulingwindow/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SchedulingPolicySchedulingWindow_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SchedulingPolicySchedulingWindow_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulingPolicySchedulingWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulingPolicySchedulingWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_scheduling_policy_scheduling_window"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_scheduling_policy_scheduling_window"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SchedulingPolicySchedulingWindow_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsdatabasetoolsconnection/zz_controller.go b/internal/controller/cluster/database/toolsdatabasetoolsconnection/zz_controller.go index a245f38c7..2125c95e5 100755 --- a/internal/controller/cluster/database/toolsdatabasetoolsconnection/zz_controller.go +++ b/internal/controller/cluster/database/toolsdatabasetoolsconnection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsConnection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsConnection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsConnection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsdatabasetoolsdatabaseapigatewayconfig/zz_controller.go b/internal/controller/cluster/database/toolsdatabasetoolsdatabaseapigatewayconfig/zz_controller.go index 5a87a99bb..9682b336c 100755 --- a/internal/controller/cluster/database/toolsdatabasetoolsdatabaseapigatewayconfig/zz_controller.go +++ b/internal/controller/cluster/database/toolsdatabasetoolsdatabaseapigatewayconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsDatabaseApiGatewayConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsDatabaseApiGatewayConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsDatabaseApiGatewayConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsDatabaseApiGatewayConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_database_api_gateway_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_database_api_gateway_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsDatabaseApiGatewayConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsdatabasetoolsidentity/zz_controller.go b/internal/controller/cluster/database/toolsdatabasetoolsidentity/zz_controller.go index b79482f49..b6d3e2c46 100755 --- a/internal/controller/cluster/database/toolsdatabasetoolsidentity/zz_controller.go +++ b/internal/controller/cluster/database/toolsdatabasetoolsidentity/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsIdentity_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsIdentity_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsIdentity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsIdentity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_identity"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_identity"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsIdentity_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsdatabasetoolsmcpserver/zz_controller.go b/internal/controller/cluster/database/toolsdatabasetoolsmcpserver/zz_controller.go index 6217243b3..9ec9b0b10 100755 --- a/internal/controller/cluster/database/toolsdatabasetoolsmcpserver/zz_controller.go +++ b/internal/controller/cluster/database/toolsdatabasetoolsmcpserver/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsMcpServer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsMcpServer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsMcpServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsMcpServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_mcp_server"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_mcp_server"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsMcpServer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsdatabasetoolsmcptoolset/zz_controller.go b/internal/controller/cluster/database/toolsdatabasetoolsmcptoolset/zz_controller.go index 938e1b50f..aa0bae446 100755 --- a/internal/controller/cluster/database/toolsdatabasetoolsmcptoolset/zz_controller.go +++ b/internal/controller/cluster/database/toolsdatabasetoolsmcptoolset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsMcpToolset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsMcpToolset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsMcpToolset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsMcpToolset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_mcp_toolset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_mcp_toolset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsMcpToolset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsdatabasetoolsprivateendpoint/zz_controller.go b/internal/controller/cluster/database/toolsdatabasetoolsprivateendpoint/zz_controller.go index c12a7792d..1f071048b 100755 --- a/internal/controller/cluster/database/toolsdatabasetoolsprivateendpoint/zz_controller.go +++ b/internal/controller/cluster/database/toolsdatabasetoolsprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsdatabasetoolssqlreport/zz_controller.go b/internal/controller/cluster/database/toolsdatabasetoolssqlreport/zz_controller.go index a91b0e078..22889579f 100755 --- a/internal/controller/cluster/database/toolsdatabasetoolssqlreport/zz_controller.go +++ b/internal/controller/cluster/database/toolsdatabasetoolssqlreport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsSqlReport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsSqlReport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsSqlReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsSqlReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_sql_report"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_sql_report"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsSqlReport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsruntimedatabasetoolsapigatewayconfigpoolapispec/zz_controller.go b/internal/controller/cluster/database/toolsruntimedatabasetoolsapigatewayconfigpoolapispec/zz_controller.go index 77e03e659..caba2d860 100755 --- a/internal/controller/cluster/database/toolsruntimedatabasetoolsapigatewayconfigpoolapispec/zz_controller.go +++ b/internal/controller/cluster/database/toolsruntimedatabasetoolsapigatewayconfigpoolapispec/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolApiSpec_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolApiSpec_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolApiSpec_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolApiSpec_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_pool_api_spec"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_pool_api_spec"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolApiSpec_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsruntimedatabasetoolsapigatewayconfigpoolautoapispec/zz_controller.go b/internal/controller/cluster/database/toolsruntimedatabasetoolsapigatewayconfigpoolautoapispec/zz_controller.go index 15e27f93d..ff21d5702 100755 --- a/internal/controller/cluster/database/toolsruntimedatabasetoolsapigatewayconfigpoolautoapispec/zz_controller.go +++ b/internal/controller/cluster/database/toolsruntimedatabasetoolsapigatewayconfigpoolautoapispec/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolAutoApiSpec_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolAutoApiSpec_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolAutoApiSpec_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolAutoApiSpec_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_pool_auto_api_spec"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_pool_auto_api_spec"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolAutoApiSpec_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectioncredential/zz_controller.go b/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectioncredential/zz_controller.go index 048886b1b..8d8580650 100755 --- a/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectioncredential/zz_controller.go +++ b/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectioncredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectioncredentialexecutegrantee/zz_controller.go b/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectioncredentialexecutegrantee/zz_controller.go index 76aed1986..62b0bc2d8 100755 --- a/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectioncredentialexecutegrantee/zz_controller.go +++ b/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectioncredentialexecutegrantee/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialExecuteGrantee_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialExecuteGrantee_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialExecuteGrantee_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialExecuteGrantee_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_credential_execute_grantee"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_credential_execute_grantee"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialExecuteGrantee_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectioncredentialpublicsynonym/zz_controller.go b/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectioncredentialpublicsynonym/zz_controller.go index b53dfd3cd..7154f1ff5 100755 --- a/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectioncredentialpublicsynonym/zz_controller.go +++ b/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectioncredentialpublicsynonym/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialPublicSynonym_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialPublicSynonym_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialPublicSynonym_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialPublicSynonym_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_credential_public_synonym"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_credential_public_synonym"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialPublicSynonym_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectionpropertyset/zz_controller.go b/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectionpropertyset/zz_controller.go index 3fd5c0059..89d14b309 100755 --- a/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectionpropertyset/zz_controller.go +++ b/internal/controller/cluster/database/toolsruntimedatabasetoolsconnectionpropertyset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsConnectionPropertySet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsConnectionPropertySet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionPropertySet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionPropertySet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_property_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_property_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsConnectionPropertySet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigglobal/zz_controller.go b/internal/controller/cluster/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigglobal/zz_controller.go index 1347ded72..da047a035 100755 --- a/internal/controller/cluster/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigglobal/zz_controller.go +++ b/internal/controller/cluster/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigglobal/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigGlobal_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigGlobal_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigGlobal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigGlobal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_global"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_global"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigGlobal_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigpool/zz_controller.go b/internal/controller/cluster/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigpool/zz_controller.go index a56465e70..786be0d0d 100755 --- a/internal/controller/cluster/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigpool/zz_controller.go +++ b/internal/controller/cluster/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigpool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigPool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigPool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigPool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/vmcluster/zz_controller.go b/internal/controller/cluster/database/vmcluster/zz_controller.go index 7c73daae3..33ebbc26d 100755 --- a/internal/controller/cluster/database/vmcluster/zz_controller.go +++ b/internal/controller/cluster/database/vmcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VmCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VmCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VmCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/vmclusteraddvirtualmachine/zz_controller.go b/internal/controller/cluster/database/vmclusteraddvirtualmachine/zz_controller.go index 436448995..4a4a845f0 100755 --- a/internal/controller/cluster/database/vmclusteraddvirtualmachine/zz_controller.go +++ b/internal/controller/cluster/database/vmclusteraddvirtualmachine/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VmClusterAddVirtualMachine_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VmClusterAddVirtualMachine_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmClusterAddVirtualMachine_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmClusterAddVirtualMachine_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster_add_virtual_machine"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster_add_virtual_machine"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VmClusterAddVirtualMachine_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/vmclusternetwork/zz_controller.go b/internal/controller/cluster/database/vmclusternetwork/zz_controller.go index a8cf19ab1..f4b6c5147 100755 --- a/internal/controller/cluster/database/vmclusternetwork/zz_controller.go +++ b/internal/controller/cluster/database/vmclusternetwork/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VmClusterNetwork_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VmClusterNetwork_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmClusterNetwork_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmClusterNetwork_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster_network"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster_network"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VmClusterNetwork_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/database/vmclusterremovevirtualmachine/zz_controller.go b/internal/controller/cluster/database/vmclusterremovevirtualmachine/zz_controller.go index 24c98d65a..e3265d540 100755 --- a/internal/controller/cluster/database/vmclusterremovevirtualmachine/zz_controller.go +++ b/internal/controller/cluster/database/vmclusterremovevirtualmachine/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VmClusterRemoveVirtualMachine_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VmClusterRemoveVirtualMachine_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmClusterRemoveVirtualMachine_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmClusterRemoveVirtualMachine_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster_remove_virtual_machine"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster_remove_virtual_machine"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VmClusterRemoveVirtualMachine_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datacatalog/catalog/zz_controller.go b/internal/controller/cluster/datacatalog/catalog/zz_controller.go index 46876be69..1f8773ad2 100755 --- a/internal/controller/cluster/datacatalog/catalog/zz_controller.go +++ b/internal/controller/cluster/datacatalog/catalog/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Catalog_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Catalog_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Catalog_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Catalog_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_catalog"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_catalog"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Catalog_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datacatalog/catalogprivateendpoint/zz_controller.go b/internal/controller/cluster/datacatalog/catalogprivateendpoint/zz_controller.go index 5d44ca46a..7923f7d48 100755 --- a/internal/controller/cluster/datacatalog/catalogprivateendpoint/zz_controller.go +++ b/internal/controller/cluster/datacatalog/catalogprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CatalogPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CatalogPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CatalogPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CatalogPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_catalog_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_catalog_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CatalogPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datacatalog/connection/zz_controller.go b/internal/controller/cluster/datacatalog/connection/zz_controller.go index aace1f1d1..be41d41ee 100755 --- a/internal/controller/cluster/datacatalog/connection/zz_controller.go +++ b/internal/controller/cluster/datacatalog/connection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Connection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Connection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Connection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Connection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Connection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datacatalog/dataasset/zz_controller.go b/internal/controller/cluster/datacatalog/dataasset/zz_controller.go index 1bfd16c06..81fab18b3 100755 --- a/internal/controller/cluster/datacatalog/dataasset/zz_controller.go +++ b/internal/controller/cluster/datacatalog/dataasset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataAsset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataAsset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_data_asset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_data_asset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataAsset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datacatalog/metastore/zz_controller.go b/internal/controller/cluster/datacatalog/metastore/zz_controller.go index 2927482a1..3f37088a2 100755 --- a/internal/controller/cluster/datacatalog/metastore/zz_controller.go +++ b/internal/controller/cluster/datacatalog/metastore/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Metastore_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Metastore_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Metastore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Metastore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_metastore"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_metastore"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Metastore_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataflow/application/zz_controller.go b/internal/controller/cluster/dataflow/application/zz_controller.go index 44f68768d..b14cc2dc0 100755 --- a/internal/controller/cluster/dataflow/application/zz_controller.go +++ b/internal/controller/cluster/dataflow/application/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Application_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Application_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Application_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Application_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataflow_application"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataflow_application"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Application_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataflow/invokerun/zz_controller.go b/internal/controller/cluster/dataflow/invokerun/zz_controller.go index 94d833af2..91923716a 100755 --- a/internal/controller/cluster/dataflow/invokerun/zz_controller.go +++ b/internal/controller/cluster/dataflow/invokerun/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InvokeRun_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InvokeRun_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InvokeRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InvokeRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataflow_invoke_run"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataflow_invoke_run"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InvokeRun_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataflow/pool/zz_controller.go b/internal/controller/cluster/dataflow/pool/zz_controller.go index b3206ccc8..b7ed5f622 100755 --- a/internal/controller/cluster/dataflow/pool/zz_controller.go +++ b/internal/controller/cluster/dataflow/pool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Pool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Pool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Pool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Pool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataflow_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataflow_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Pool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataflow/privateendpoint/zz_controller.go b/internal/controller/cluster/dataflow/privateendpoint/zz_controller.go index d99d73554..3ec5b17c8 100755 --- a/internal/controller/cluster/dataflow/privateendpoint/zz_controller.go +++ b/internal/controller/cluster/dataflow/privateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataflow_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataflow_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataflow/runstatement/zz_controller.go b/internal/controller/cluster/dataflow/runstatement/zz_controller.go index 66a1a2100..6af728d27 100755 --- a/internal/controller/cluster/dataflow/runstatement/zz_controller.go +++ b/internal/controller/cluster/dataflow/runstatement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RunStatement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RunStatement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RunStatement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RunStatement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataflow_run_statement"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataflow_run_statement"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RunStatement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataflow/sqlendpoint/zz_controller.go b/internal/controller/cluster/dataflow/sqlendpoint/zz_controller.go index 43e537232..a06f7107a 100755 --- a/internal/controller/cluster/dataflow/sqlendpoint/zz_controller.go +++ b/internal/controller/cluster/dataflow/sqlendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SqlEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SqlEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataflow_sql_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataflow_sql_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SqlEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataintegration/workspace/zz_controller.go b/internal/controller/cluster/dataintegration/workspace/zz_controller.go index eff755077..162a8ddb2 100755 --- a/internal/controller/cluster/dataintegration/workspace/zz_controller.go +++ b/internal/controller/cluster/dataintegration/workspace/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Workspace_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Workspace_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Workspace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Workspace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Workspace_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataintegration/workspaceapplication/zz_controller.go b/internal/controller/cluster/dataintegration/workspaceapplication/zz_controller.go index 9bec49dd7..7dfe90620 100755 --- a/internal/controller/cluster/dataintegration/workspaceapplication/zz_controller.go +++ b/internal/controller/cluster/dataintegration/workspaceapplication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceApplication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceApplication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceApplication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataintegration/workspaceapplicationpatch/zz_controller.go b/internal/controller/cluster/dataintegration/workspaceapplicationpatch/zz_controller.go index 005f7c48e..23d0b9093 100755 --- a/internal/controller/cluster/dataintegration/workspaceapplicationpatch/zz_controller.go +++ b/internal/controller/cluster/dataintegration/workspaceapplicationpatch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceApplicationPatch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceApplicationPatch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplicationPatch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplicationPatch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application_patch"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application_patch"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceApplicationPatch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataintegration/workspaceapplicationschedule/zz_controller.go b/internal/controller/cluster/dataintegration/workspaceapplicationschedule/zz_controller.go index 281396244..7e94e529a 100755 --- a/internal/controller/cluster/dataintegration/workspaceapplicationschedule/zz_controller.go +++ b/internal/controller/cluster/dataintegration/workspaceapplicationschedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceApplicationSchedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceApplicationSchedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplicationSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplicationSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceApplicationSchedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataintegration/workspaceapplicationtaskschedule/zz_controller.go b/internal/controller/cluster/dataintegration/workspaceapplicationtaskschedule/zz_controller.go index baf1a005c..b993ee983 100755 --- a/internal/controller/cluster/dataintegration/workspaceapplicationtaskschedule/zz_controller.go +++ b/internal/controller/cluster/dataintegration/workspaceapplicationtaskschedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceApplicationTaskSchedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceApplicationTaskSchedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplicationTaskSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplicationTaskSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application_task_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application_task_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceApplicationTaskSchedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataintegration/workspaceexportrequest/zz_controller.go b/internal/controller/cluster/dataintegration/workspaceexportrequest/zz_controller.go index 7e83b343b..d56d20b89 100755 --- a/internal/controller/cluster/dataintegration/workspaceexportrequest/zz_controller.go +++ b/internal/controller/cluster/dataintegration/workspaceexportrequest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceExportRequest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceExportRequest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceExportRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceExportRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_export_request"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_export_request"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceExportRequest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataintegration/workspacefolder/zz_controller.go b/internal/controller/cluster/dataintegration/workspacefolder/zz_controller.go index cff00e7a4..237ca188f 100755 --- a/internal/controller/cluster/dataintegration/workspacefolder/zz_controller.go +++ b/internal/controller/cluster/dataintegration/workspacefolder/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceFolder_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceFolder_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceFolder_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceFolder_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_folder"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_folder"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceFolder_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataintegration/workspaceimportrequest/zz_controller.go b/internal/controller/cluster/dataintegration/workspaceimportrequest/zz_controller.go index 0de3ebef1..431b07f54 100755 --- a/internal/controller/cluster/dataintegration/workspaceimportrequest/zz_controller.go +++ b/internal/controller/cluster/dataintegration/workspaceimportrequest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceImportRequest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceImportRequest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceImportRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceImportRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_import_request"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_import_request"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceImportRequest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataintegration/workspaceproject/zz_controller.go b/internal/controller/cluster/dataintegration/workspaceproject/zz_controller.go index 55546db12..50f8702ab 100755 --- a/internal/controller/cluster/dataintegration/workspaceproject/zz_controller.go +++ b/internal/controller/cluster/dataintegration/workspaceproject/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceProject_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceProject_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceProject_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceProject_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceProject_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dataintegration/workspacetask/zz_controller.go b/internal/controller/cluster/dataintegration/workspacetask/zz_controller.go index 5012bbab5..e953f55a6 100755 --- a/internal/controller/cluster/dataintegration/workspacetask/zz_controller.go +++ b/internal/controller/cluster/dataintegration/workspacetask/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceTask_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceTask_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceTask_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceTask_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_task"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_task"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceTask_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datalabelingservice/dataset/zz_controller.go b/internal/controller/cluster/datalabelingservice/dataset/zz_controller.go index c342081fc..bb43e61f1 100755 --- a/internal/controller/cluster/datalabelingservice/dataset/zz_controller.go +++ b/internal/controller/cluster/datalabelingservice/dataset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Dataset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Dataset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Dataset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Dataset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_labeling_service_dataset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_labeling_service_dataset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Dataset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/addsdmcolumns/zz_controller.go b/internal/controller/cluster/datasafe/addsdmcolumns/zz_controller.go index 69aedc57c..60ec66869 100755 --- a/internal/controller/cluster/datasafe/addsdmcolumns/zz_controller.go +++ b/internal/controller/cluster/datasafe/addsdmcolumns/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AddSdmColumns_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AddSdmColumns_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AddSdmColumns_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AddSdmColumns_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_add_sdm_columns"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_add_sdm_columns"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AddSdmColumns_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/alert/zz_controller.go b/internal/controller/cluster/datasafe/alert/zz_controller.go index 9b7bed9d0..24ef19a10 100755 --- a/internal/controller/cluster/datasafe/alert/zz_controller.go +++ b/internal/controller/cluster/datasafe/alert/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Alert_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Alert_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Alert_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Alert_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_alert"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_alert"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Alert_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/alertpolicy/zz_controller.go b/internal/controller/cluster/datasafe/alertpolicy/zz_controller.go index 7a1beba57..1d56d6857 100755 --- a/internal/controller/cluster/datasafe/alertpolicy/zz_controller.go +++ b/internal/controller/cluster/datasafe/alertpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AlertPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AlertPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlertPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlertPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_alert_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_alert_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AlertPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/alertpolicyrule/zz_controller.go b/internal/controller/cluster/datasafe/alertpolicyrule/zz_controller.go index 52cc31726..d7e26f9f5 100755 --- a/internal/controller/cluster/datasafe/alertpolicyrule/zz_controller.go +++ b/internal/controller/cluster/datasafe/alertpolicyrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AlertPolicyRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AlertPolicyRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlertPolicyRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlertPolicyRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_alert_policy_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_alert_policy_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AlertPolicyRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/attributeset/zz_controller.go b/internal/controller/cluster/datasafe/attributeset/zz_controller.go index b4752cad4..fd1bb32ff 100755 --- a/internal/controller/cluster/datasafe/attributeset/zz_controller.go +++ b/internal/controller/cluster/datasafe/attributeset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AttributeSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AttributeSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AttributeSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AttributeSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_attribute_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_attribute_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AttributeSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/auditarchiveretrieval/zz_controller.go b/internal/controller/cluster/datasafe/auditarchiveretrieval/zz_controller.go index 3e48b68d8..d333627e4 100755 --- a/internal/controller/cluster/datasafe/auditarchiveretrieval/zz_controller.go +++ b/internal/controller/cluster/datasafe/auditarchiveretrieval/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditArchiveRetrieval_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditArchiveRetrieval_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditArchiveRetrieval_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditArchiveRetrieval_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_archive_retrieval"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_archive_retrieval"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditArchiveRetrieval_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/auditpolicy/zz_controller.go b/internal/controller/cluster/datasafe/auditpolicy/zz_controller.go index b6044b6c0..871b90c5b 100755 --- a/internal/controller/cluster/datasafe/auditpolicy/zz_controller.go +++ b/internal/controller/cluster/datasafe/auditpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/auditpolicymanagement/zz_controller.go b/internal/controller/cluster/datasafe/auditpolicymanagement/zz_controller.go index cb1f22426..2e0d2be9a 100755 --- a/internal/controller/cluster/datasafe/auditpolicymanagement/zz_controller.go +++ b/internal/controller/cluster/datasafe/auditpolicymanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditPolicyManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditPolicyManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditPolicyManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditPolicyManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_policy_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_policy_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditPolicyManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/auditprofile/zz_controller.go b/internal/controller/cluster/datasafe/auditprofile/zz_controller.go index d72294ff8..5e47a850c 100755 --- a/internal/controller/cluster/datasafe/auditprofile/zz_controller.go +++ b/internal/controller/cluster/datasafe/auditprofile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditProfile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditProfile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_profile"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_profile"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditProfile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/auditprofilemanagement/zz_controller.go b/internal/controller/cluster/datasafe/auditprofilemanagement/zz_controller.go index 642696c17..920f93029 100755 --- a/internal/controller/cluster/datasafe/auditprofilemanagement/zz_controller.go +++ b/internal/controller/cluster/datasafe/auditprofilemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditProfileManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditProfileManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditProfileManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditProfileManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_profile_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_profile_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditProfileManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/audittrail/zz_controller.go b/internal/controller/cluster/datasafe/audittrail/zz_controller.go index b940ac830..c0c56c38c 100755 --- a/internal/controller/cluster/datasafe/audittrail/zz_controller.go +++ b/internal/controller/cluster/datasafe/audittrail/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditTrail_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditTrail_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditTrail_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditTrail_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_trail"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_trail"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditTrail_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/audittrailmanagement/zz_controller.go b/internal/controller/cluster/datasafe/audittrailmanagement/zz_controller.go index 4f87f89b6..e8124a78c 100755 --- a/internal/controller/cluster/datasafe/audittrailmanagement/zz_controller.go +++ b/internal/controller/cluster/datasafe/audittrailmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditTrailManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditTrailManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditTrailManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditTrailManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_trail_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_trail_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditTrailManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/calculateauditvolumeavailable/zz_controller.go b/internal/controller/cluster/datasafe/calculateauditvolumeavailable/zz_controller.go index 3851fad93..d16ebc0f5 100755 --- a/internal/controller/cluster/datasafe/calculateauditvolumeavailable/zz_controller.go +++ b/internal/controller/cluster/datasafe/calculateauditvolumeavailable/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CalculateAuditVolumeAvailable_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CalculateAuditVolumeAvailable_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CalculateAuditVolumeAvailable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CalculateAuditVolumeAvailable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_calculate_audit_volume_available"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_calculate_audit_volume_available"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CalculateAuditVolumeAvailable_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/calculateauditvolumecollected/zz_controller.go b/internal/controller/cluster/datasafe/calculateauditvolumecollected/zz_controller.go index ddcdc0910..158afad8d 100755 --- a/internal/controller/cluster/datasafe/calculateauditvolumecollected/zz_controller.go +++ b/internal/controller/cluster/datasafe/calculateauditvolumecollected/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CalculateAuditVolumeCollected_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CalculateAuditVolumeCollected_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CalculateAuditVolumeCollected_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CalculateAuditVolumeCollected_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_calculate_audit_volume_collected"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_calculate_audit_volume_collected"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CalculateAuditVolumeCollected_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/comparesecurityassessment/zz_controller.go b/internal/controller/cluster/datasafe/comparesecurityassessment/zz_controller.go index 978970687..4a7992991 100755 --- a/internal/controller/cluster/datasafe/comparesecurityassessment/zz_controller.go +++ b/internal/controller/cluster/datasafe/comparesecurityassessment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CompareSecurityAssessment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CompareSecurityAssessment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CompareSecurityAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CompareSecurityAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_compare_security_assessment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_compare_security_assessment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CompareSecurityAssessment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/compareuserassessment/zz_controller.go b/internal/controller/cluster/datasafe/compareuserassessment/zz_controller.go index e6715ca0c..6d203a103 100755 --- a/internal/controller/cluster/datasafe/compareuserassessment/zz_controller.go +++ b/internal/controller/cluster/datasafe/compareuserassessment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CompareUserAssessment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CompareUserAssessment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CompareUserAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CompareUserAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_compare_user_assessment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_compare_user_assessment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CompareUserAssessment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/databasesecurityconfig/zz_controller.go b/internal/controller/cluster/datasafe/databasesecurityconfig/zz_controller.go index 2f313d8d3..4e43e1475 100755 --- a/internal/controller/cluster/datasafe/databasesecurityconfig/zz_controller.go +++ b/internal/controller/cluster/datasafe/databasesecurityconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseSecurityConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseSecurityConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSecurityConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSecurityConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_database_security_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_database_security_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseSecurityConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/databasesecurityconfigmanagement/zz_controller.go b/internal/controller/cluster/datasafe/databasesecurityconfigmanagement/zz_controller.go index fa25f5dc3..538573a3e 100755 --- a/internal/controller/cluster/datasafe/databasesecurityconfigmanagement/zz_controller.go +++ b/internal/controller/cluster/datasafe/databasesecurityconfigmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseSecurityConfigManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseSecurityConfigManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSecurityConfigManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSecurityConfigManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_database_security_config_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_database_security_config_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseSecurityConfigManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/datasafeconfiguration/zz_controller.go b/internal/controller/cluster/datasafe/datasafeconfiguration/zz_controller.go index 875460ad9..b14609d69 100755 --- a/internal/controller/cluster/datasafe/datasafeconfiguration/zz_controller.go +++ b/internal/controller/cluster/datasafe/datasafeconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataSafeConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataSafeConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataSafeConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataSafeConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_data_safe_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_data_safe_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataSafeConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/datasafeprivateendpoint/zz_controller.go b/internal/controller/cluster/datasafe/datasafeprivateendpoint/zz_controller.go index cdc3c074a..df795b82a 100755 --- a/internal/controller/cluster/datasafe/datasafeprivateendpoint/zz_controller.go +++ b/internal/controller/cluster/datasafe/datasafeprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataSafePrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataSafePrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataSafePrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataSafePrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_data_safe_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_data_safe_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataSafePrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/discoveryjob/zz_controller.go b/internal/controller/cluster/datasafe/discoveryjob/zz_controller.go index 8201923d2..ba4704846 100755 --- a/internal/controller/cluster/datasafe/discoveryjob/zz_controller.go +++ b/internal/controller/cluster/datasafe/discoveryjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DiscoveryJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DiscoveryJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoveryJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoveryJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_discovery_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_discovery_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DiscoveryJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/discoveryjobsresult/zz_controller.go b/internal/controller/cluster/datasafe/discoveryjobsresult/zz_controller.go index 0b70a314a..3498de394 100755 --- a/internal/controller/cluster/datasafe/discoveryjobsresult/zz_controller.go +++ b/internal/controller/cluster/datasafe/discoveryjobsresult/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DiscoveryJobsResult_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DiscoveryJobsResult_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoveryJobsResult_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoveryJobsResult_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_discovery_jobs_result"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_discovery_jobs_result"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DiscoveryJobsResult_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/generateonpremconnectorconfiguration/zz_controller.go b/internal/controller/cluster/datasafe/generateonpremconnectorconfiguration/zz_controller.go index 65666a1ca..f87a6f776 100755 --- a/internal/controller/cluster/datasafe/generateonpremconnectorconfiguration/zz_controller.go +++ b/internal/controller/cluster/datasafe/generateonpremconnectorconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.GenerateOnPremConnectorConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.GenerateOnPremConnectorConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GenerateOnPremConnectorConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GenerateOnPremConnectorConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_generate_on_prem_connector_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_generate_on_prem_connector_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.GenerateOnPremConnectorConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/librarymaskingformat/zz_controller.go b/internal/controller/cluster/datasafe/librarymaskingformat/zz_controller.go index d030bd0b6..331b54ddc 100755 --- a/internal/controller/cluster/datasafe/librarymaskingformat/zz_controller.go +++ b/internal/controller/cluster/datasafe/librarymaskingformat/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LibraryMaskingFormat_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LibraryMaskingFormat_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LibraryMaskingFormat_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LibraryMaskingFormat_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_library_masking_format"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_library_masking_format"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LibraryMaskingFormat_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/maskdata/zz_controller.go b/internal/controller/cluster/datasafe/maskdata/zz_controller.go index eb4632468..139890818 100755 --- a/internal/controller/cluster/datasafe/maskdata/zz_controller.go +++ b/internal/controller/cluster/datasafe/maskdata/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaskData_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaskData_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskData_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskData_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_mask_data"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_mask_data"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaskData_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/maskingpoliciesapplydifferencetomaskingcolumns/zz_controller.go b/internal/controller/cluster/datasafe/maskingpoliciesapplydifferencetomaskingcolumns/zz_controller.go index 4bf4f2ae2..c0b4144c0 100755 --- a/internal/controller/cluster/datasafe/maskingpoliciesapplydifferencetomaskingcolumns/zz_controller.go +++ b/internal/controller/cluster/datasafe/maskingpoliciesapplydifferencetomaskingcolumns/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaskingPoliciesApplyDifferenceToMaskingColumns_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaskingPoliciesApplyDifferenceToMaskingColumns_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPoliciesApplyDifferenceToMaskingColumns_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPoliciesApplyDifferenceToMaskingColumns_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policies_apply_difference_to_masking_columns"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policies_apply_difference_to_masking_columns"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaskingPoliciesApplyDifferenceToMaskingColumns_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/maskingpoliciesmaskingcolumn/zz_controller.go b/internal/controller/cluster/datasafe/maskingpoliciesmaskingcolumn/zz_controller.go index 6fcba5774..e563d0fa9 100755 --- a/internal/controller/cluster/datasafe/maskingpoliciesmaskingcolumn/zz_controller.go +++ b/internal/controller/cluster/datasafe/maskingpoliciesmaskingcolumn/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaskingPoliciesMaskingColumn_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaskingPoliciesMaskingColumn_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPoliciesMaskingColumn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPoliciesMaskingColumn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policies_masking_column"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policies_masking_column"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaskingPoliciesMaskingColumn_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/maskingpolicy/zz_controller.go b/internal/controller/cluster/datasafe/maskingpolicy/zz_controller.go index db0d2dacd..c747d1c09 100755 --- a/internal/controller/cluster/datasafe/maskingpolicy/zz_controller.go +++ b/internal/controller/cluster/datasafe/maskingpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaskingPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaskingPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaskingPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/maskingpolicyhealthreportmanagement/zz_controller.go b/internal/controller/cluster/datasafe/maskingpolicyhealthreportmanagement/zz_controller.go index e350c7a62..8acc7b1af 100755 --- a/internal/controller/cluster/datasafe/maskingpolicyhealthreportmanagement/zz_controller.go +++ b/internal/controller/cluster/datasafe/maskingpolicyhealthreportmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaskingPolicyHealthReportManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaskingPolicyHealthReportManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPolicyHealthReportManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPolicyHealthReportManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policy_health_report_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policy_health_report_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaskingPolicyHealthReportManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/maskingreportmanagement/zz_controller.go b/internal/controller/cluster/datasafe/maskingreportmanagement/zz_controller.go index cf79ae60b..f89f42f3f 100755 --- a/internal/controller/cluster/datasafe/maskingreportmanagement/zz_controller.go +++ b/internal/controller/cluster/datasafe/maskingreportmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaskingReportManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaskingReportManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingReportManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingReportManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_report_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_report_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaskingReportManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/onpremconnector/zz_controller.go b/internal/controller/cluster/datasafe/onpremconnector/zz_controller.go index 5a0fc2a31..f8170bf02 100755 --- a/internal/controller/cluster/datasafe/onpremconnector/zz_controller.go +++ b/internal/controller/cluster/datasafe/onpremconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OnPremConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OnPremConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OnPremConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OnPremConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_on_prem_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_on_prem_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OnPremConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/report/zz_controller.go b/internal/controller/cluster/datasafe/report/zz_controller.go index 624d05e97..7617619c2 100755 --- a/internal/controller/cluster/datasafe/report/zz_controller.go +++ b/internal/controller/cluster/datasafe/report/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Report_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Report_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Report_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Report_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_report"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_report"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Report_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/reportdefinition/zz_controller.go b/internal/controller/cluster/datasafe/reportdefinition/zz_controller.go index b729492bc..f482d5a45 100755 --- a/internal/controller/cluster/datasafe/reportdefinition/zz_controller.go +++ b/internal/controller/cluster/datasafe/reportdefinition/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ReportDefinition_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ReportDefinition_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ReportDefinition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ReportDefinition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_report_definition"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_report_definition"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ReportDefinition_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/sdmmaskingpolicydifference/zz_controller.go b/internal/controller/cluster/datasafe/sdmmaskingpolicydifference/zz_controller.go index 7506791ff..55d8d823d 100755 --- a/internal/controller/cluster/datasafe/sdmmaskingpolicydifference/zz_controller.go +++ b/internal/controller/cluster/datasafe/sdmmaskingpolicydifference/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SdmMaskingPolicyDifference_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SdmMaskingPolicyDifference_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SdmMaskingPolicyDifference_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SdmMaskingPolicyDifference_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sdm_masking_policy_difference"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sdm_masking_policy_difference"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SdmMaskingPolicyDifference_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/securityassessment/zz_controller.go b/internal/controller/cluster/datasafe/securityassessment/zz_controller.go index 6433f5567..204cffc30 100755 --- a/internal/controller/cluster/datasafe/securityassessment/zz_controller.go +++ b/internal/controller/cluster/datasafe/securityassessment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityAssessment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityAssessment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_assessment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_assessment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityAssessment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/securityassessmentcheck/zz_controller.go b/internal/controller/cluster/datasafe/securityassessmentcheck/zz_controller.go index 13e90b456..2732dccc4 100755 --- a/internal/controller/cluster/datasafe/securityassessmentcheck/zz_controller.go +++ b/internal/controller/cluster/datasafe/securityassessmentcheck/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityAssessmentCheck_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityAssessmentCheck_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAssessmentCheck_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAssessmentCheck_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_assessment_check"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_assessment_check"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityAssessmentCheck_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/securityassessmentfinding/zz_controller.go b/internal/controller/cluster/datasafe/securityassessmentfinding/zz_controller.go index 1590fbb31..cd5515570 100755 --- a/internal/controller/cluster/datasafe/securityassessmentfinding/zz_controller.go +++ b/internal/controller/cluster/datasafe/securityassessmentfinding/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityAssessmentFinding_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityAssessmentFinding_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAssessmentFinding_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAssessmentFinding_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_assessment_finding"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_assessment_finding"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityAssessmentFinding_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/securitypolicy/zz_controller.go b/internal/controller/cluster/datasafe/securitypolicy/zz_controller.go index 5b722d61f..e9e5beba4 100755 --- a/internal/controller/cluster/datasafe/securitypolicy/zz_controller.go +++ b/internal/controller/cluster/datasafe/securitypolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/securitypolicyconfig/zz_controller.go b/internal/controller/cluster/datasafe/securitypolicyconfig/zz_controller.go index 6465cd3b1..0cfa926c9 100755 --- a/internal/controller/cluster/datasafe/securitypolicyconfig/zz_controller.go +++ b/internal/controller/cluster/datasafe/securitypolicyconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityPolicyConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityPolicyConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityPolicyConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/securitypolicydeployment/zz_controller.go b/internal/controller/cluster/datasafe/securitypolicydeployment/zz_controller.go index 3925b5239..277181c30 100755 --- a/internal/controller/cluster/datasafe/securitypolicydeployment/zz_controller.go +++ b/internal/controller/cluster/datasafe/securitypolicydeployment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityPolicyDeployment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityPolicyDeployment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyDeployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyDeployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_deployment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_deployment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityPolicyDeployment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/securitypolicydeploymentmanagement/zz_controller.go b/internal/controller/cluster/datasafe/securitypolicydeploymentmanagement/zz_controller.go index b5a47e7fe..cf4d24df3 100755 --- a/internal/controller/cluster/datasafe/securitypolicydeploymentmanagement/zz_controller.go +++ b/internal/controller/cluster/datasafe/securitypolicydeploymentmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityPolicyDeploymentManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityPolicyDeploymentManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyDeploymentManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyDeploymentManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_deployment_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_deployment_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityPolicyDeploymentManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/securitypolicymanagement/zz_controller.go b/internal/controller/cluster/datasafe/securitypolicymanagement/zz_controller.go index b1aaa546d..4e5049d6f 100755 --- a/internal/controller/cluster/datasafe/securitypolicymanagement/zz_controller.go +++ b/internal/controller/cluster/datasafe/securitypolicymanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityPolicyManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityPolicyManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityPolicyManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/sensitivedatamodel/zz_controller.go b/internal/controller/cluster/datasafe/sensitivedatamodel/zz_controller.go index d2a9730ef..34a3afc78 100755 --- a/internal/controller/cluster/datasafe/sensitivedatamodel/zz_controller.go +++ b/internal/controller/cluster/datasafe/sensitivedatamodel/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveDataModel_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveDataModel_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveDataModel_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/sensitivedatamodelreferentialrelation/zz_controller.go b/internal/controller/cluster/datasafe/sensitivedatamodelreferentialrelation/zz_controller.go index 8afd9e2ad..bdabb59b8 100755 --- a/internal/controller/cluster/datasafe/sensitivedatamodelreferentialrelation/zz_controller.go +++ b/internal/controller/cluster/datasafe/sensitivedatamodelreferentialrelation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveDataModelReferentialRelation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveDataModelReferentialRelation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModelReferentialRelation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModelReferentialRelation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_model_referential_relation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_model_referential_relation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveDataModelReferentialRelation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/sensitivedatamodelsapplydiscoveryjobresults/zz_controller.go b/internal/controller/cluster/datasafe/sensitivedatamodelsapplydiscoveryjobresults/zz_controller.go index 6ed8ee393..b0f5ab821 100755 --- a/internal/controller/cluster/datasafe/sensitivedatamodelsapplydiscoveryjobresults/zz_controller.go +++ b/internal/controller/cluster/datasafe/sensitivedatamodelsapplydiscoveryjobresults/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveDataModelsApplyDiscoveryJobResults_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveDataModelsApplyDiscoveryJobResults_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModelsApplyDiscoveryJobResults_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModelsApplyDiscoveryJobResults_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_models_apply_discovery_job_results"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_models_apply_discovery_job_results"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveDataModelsApplyDiscoveryJobResults_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/sensitivedatamodelssensitivecolumn/zz_controller.go b/internal/controller/cluster/datasafe/sensitivedatamodelssensitivecolumn/zz_controller.go index dae5a7f61..034463a6d 100755 --- a/internal/controller/cluster/datasafe/sensitivedatamodelssensitivecolumn/zz_controller.go +++ b/internal/controller/cluster/datasafe/sensitivedatamodelssensitivecolumn/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveDataModelsSensitiveColumn_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveDataModelsSensitiveColumn_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModelsSensitiveColumn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModelsSensitiveColumn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_models_sensitive_column"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_models_sensitive_column"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveDataModelsSensitiveColumn_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/sensitivetype/zz_controller.go b/internal/controller/cluster/datasafe/sensitivetype/zz_controller.go index 0129898d4..95c114b97 100755 --- a/internal/controller/cluster/datasafe/sensitivetype/zz_controller.go +++ b/internal/controller/cluster/datasafe/sensitivetype/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveType_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveType_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_type"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_type"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveType_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/sensitivetypegroup/zz_controller.go b/internal/controller/cluster/datasafe/sensitivetypegroup/zz_controller.go index c6554c132..a9081f3c7 100755 --- a/internal/controller/cluster/datasafe/sensitivetypegroup/zz_controller.go +++ b/internal/controller/cluster/datasafe/sensitivetypegroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveTypeGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveTypeGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveTypeGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveTypeGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_type_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_type_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveTypeGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/sensitivetypegroupgroupedsensitivetype/zz_controller.go b/internal/controller/cluster/datasafe/sensitivetypegroupgroupedsensitivetype/zz_controller.go index 73b38a937..0ed8aa266 100755 --- a/internal/controller/cluster/datasafe/sensitivetypegroupgroupedsensitivetype/zz_controller.go +++ b/internal/controller/cluster/datasafe/sensitivetypegroupgroupedsensitivetype/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveTypeGroupGroupedSensitiveType_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveTypeGroupGroupedSensitiveType_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveTypeGroupGroupedSensitiveType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveTypeGroupGroupedSensitiveType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_type_group_grouped_sensitive_type"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_type_group_grouped_sensitive_type"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveTypeGroupGroupedSensitiveType_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/sensitivetypesexport/zz_controller.go b/internal/controller/cluster/datasafe/sensitivetypesexport/zz_controller.go index d296048ba..ed195c5bf 100755 --- a/internal/controller/cluster/datasafe/sensitivetypesexport/zz_controller.go +++ b/internal/controller/cluster/datasafe/sensitivetypesexport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveTypesExport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveTypesExport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveTypesExport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveTypesExport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_types_export"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_types_export"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveTypesExport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/setsecurityassessmentbaseline/zz_controller.go b/internal/controller/cluster/datasafe/setsecurityassessmentbaseline/zz_controller.go index 469e108d0..22905cc22 100755 --- a/internal/controller/cluster/datasafe/setsecurityassessmentbaseline/zz_controller.go +++ b/internal/controller/cluster/datasafe/setsecurityassessmentbaseline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SetSecurityAssessmentBaseline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SetSecurityAssessmentBaseline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetSecurityAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetSecurityAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_security_assessment_baseline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_security_assessment_baseline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SetSecurityAssessmentBaseline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/setsecurityassessmentbaselinemanagement/zz_controller.go b/internal/controller/cluster/datasafe/setsecurityassessmentbaselinemanagement/zz_controller.go index daa95371c..954de5c7c 100755 --- a/internal/controller/cluster/datasafe/setsecurityassessmentbaselinemanagement/zz_controller.go +++ b/internal/controller/cluster/datasafe/setsecurityassessmentbaselinemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SetSecurityAssessmentBaselineManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SetSecurityAssessmentBaselineManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetSecurityAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetSecurityAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_security_assessment_baseline_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_security_assessment_baseline_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SetSecurityAssessmentBaselineManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/setuserassessmentbaseline/zz_controller.go b/internal/controller/cluster/datasafe/setuserassessmentbaseline/zz_controller.go index 75aa5f009..0d299e801 100755 --- a/internal/controller/cluster/datasafe/setuserassessmentbaseline/zz_controller.go +++ b/internal/controller/cluster/datasafe/setuserassessmentbaseline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SetUserAssessmentBaseline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SetUserAssessmentBaseline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetUserAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetUserAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_user_assessment_baseline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_user_assessment_baseline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SetUserAssessmentBaseline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/setuserassessmentbaselinemanagement/zz_controller.go b/internal/controller/cluster/datasafe/setuserassessmentbaselinemanagement/zz_controller.go index d2c4126c5..134c80440 100755 --- a/internal/controller/cluster/datasafe/setuserassessmentbaselinemanagement/zz_controller.go +++ b/internal/controller/cluster/datasafe/setuserassessmentbaselinemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SetUserAssessmentBaselineManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SetUserAssessmentBaselineManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetUserAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetUserAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_user_assessment_baseline_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_user_assessment_baseline_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SetUserAssessmentBaselineManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/sqlcollection/zz_controller.go b/internal/controller/cluster/datasafe/sqlcollection/zz_controller.go index 93b6b0b49..6e8cb1ee2 100755 --- a/internal/controller/cluster/datasafe/sqlcollection/zz_controller.go +++ b/internal/controller/cluster/datasafe/sqlcollection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SqlCollection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SqlCollection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlCollection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlCollection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sql_collection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sql_collection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SqlCollection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/sqlfirewallpolicy/zz_controller.go b/internal/controller/cluster/datasafe/sqlfirewallpolicy/zz_controller.go index 0554dba85..d760981b9 100755 --- a/internal/controller/cluster/datasafe/sqlfirewallpolicy/zz_controller.go +++ b/internal/controller/cluster/datasafe/sqlfirewallpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SqlFirewallPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SqlFirewallPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlFirewallPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlFirewallPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sql_firewall_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sql_firewall_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SqlFirewallPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/sqlfirewallpolicymanagement/zz_controller.go b/internal/controller/cluster/datasafe/sqlfirewallpolicymanagement/zz_controller.go index 120d19135..748183c24 100755 --- a/internal/controller/cluster/datasafe/sqlfirewallpolicymanagement/zz_controller.go +++ b/internal/controller/cluster/datasafe/sqlfirewallpolicymanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SqlFirewallPolicyManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SqlFirewallPolicyManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlFirewallPolicyManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlFirewallPolicyManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sql_firewall_policy_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sql_firewall_policy_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SqlFirewallPolicyManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/targetalertpolicyassociation/zz_controller.go b/internal/controller/cluster/datasafe/targetalertpolicyassociation/zz_controller.go index f9f439a20..aa4688dff 100755 --- a/internal/controller/cluster/datasafe/targetalertpolicyassociation/zz_controller.go +++ b/internal/controller/cluster/datasafe/targetalertpolicyassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TargetAlertPolicyAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TargetAlertPolicyAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetAlertPolicyAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetAlertPolicyAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_alert_policy_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_alert_policy_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TargetAlertPolicyAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/targetdatabase/zz_controller.go b/internal/controller/cluster/datasafe/targetdatabase/zz_controller.go index f513719db..cc0b7a0b1 100755 --- a/internal/controller/cluster/datasafe/targetdatabase/zz_controller.go +++ b/internal/controller/cluster/datasafe/targetdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TargetDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TargetDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TargetDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/targetdatabasegroup/zz_controller.go b/internal/controller/cluster/datasafe/targetdatabasegroup/zz_controller.go index 62f4c8a9e..9125995da 100755 --- a/internal/controller/cluster/datasafe/targetdatabasegroup/zz_controller.go +++ b/internal/controller/cluster/datasafe/targetdatabasegroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TargetDatabaseGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TargetDatabaseGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetDatabaseGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetDatabaseGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_database_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_database_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TargetDatabaseGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/targetdatabasepeertargetdatabase/zz_controller.go b/internal/controller/cluster/datasafe/targetdatabasepeertargetdatabase/zz_controller.go index 663162916..382b8abd5 100755 --- a/internal/controller/cluster/datasafe/targetdatabasepeertargetdatabase/zz_controller.go +++ b/internal/controller/cluster/datasafe/targetdatabasepeertargetdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TargetDatabasePeerTargetDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TargetDatabasePeerTargetDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetDatabasePeerTargetDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetDatabasePeerTargetDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_database_peer_target_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_database_peer_target_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TargetDatabasePeerTargetDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/unifiedauditpolicy/zz_controller.go b/internal/controller/cluster/datasafe/unifiedauditpolicy/zz_controller.go index c70ae5400..67ca6e9d2 100755 --- a/internal/controller/cluster/datasafe/unifiedauditpolicy/zz_controller.go +++ b/internal/controller/cluster/datasafe/unifiedauditpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnifiedAuditPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnifiedAuditPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnifiedAuditPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnifiedAuditPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unified_audit_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unified_audit_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnifiedAuditPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/unifiedauditpolicydefinition/zz_controller.go b/internal/controller/cluster/datasafe/unifiedauditpolicydefinition/zz_controller.go index 3b09a6668..439581f6b 100755 --- a/internal/controller/cluster/datasafe/unifiedauditpolicydefinition/zz_controller.go +++ b/internal/controller/cluster/datasafe/unifiedauditpolicydefinition/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnifiedAuditPolicyDefinition_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnifiedAuditPolicyDefinition_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnifiedAuditPolicyDefinition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnifiedAuditPolicyDefinition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unified_audit_policy_definition"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unified_audit_policy_definition"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnifiedAuditPolicyDefinition_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/unsetsecurityassessmentbaseline/zz_controller.go b/internal/controller/cluster/datasafe/unsetsecurityassessmentbaseline/zz_controller.go index 60628658e..da1db28e2 100755 --- a/internal/controller/cluster/datasafe/unsetsecurityassessmentbaseline/zz_controller.go +++ b/internal/controller/cluster/datasafe/unsetsecurityassessmentbaseline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnsetSecurityAssessmentBaseline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnsetSecurityAssessmentBaseline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetSecurityAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetSecurityAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_security_assessment_baseline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_security_assessment_baseline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnsetSecurityAssessmentBaseline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/unsetsecurityassessmentbaselinemanagement/zz_controller.go b/internal/controller/cluster/datasafe/unsetsecurityassessmentbaselinemanagement/zz_controller.go index c88b68ecc..91b83ccff 100755 --- a/internal/controller/cluster/datasafe/unsetsecurityassessmentbaselinemanagement/zz_controller.go +++ b/internal/controller/cluster/datasafe/unsetsecurityassessmentbaselinemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnsetSecurityAssessmentBaselineManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnsetSecurityAssessmentBaselineManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetSecurityAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetSecurityAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_security_assessment_baseline_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_security_assessment_baseline_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnsetSecurityAssessmentBaselineManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/unsetuserassessmentbaseline/zz_controller.go b/internal/controller/cluster/datasafe/unsetuserassessmentbaseline/zz_controller.go index 3227104b8..84108394f 100755 --- a/internal/controller/cluster/datasafe/unsetuserassessmentbaseline/zz_controller.go +++ b/internal/controller/cluster/datasafe/unsetuserassessmentbaseline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnsetUserAssessmentBaseline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnsetUserAssessmentBaseline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetUserAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetUserAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_user_assessment_baseline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_user_assessment_baseline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnsetUserAssessmentBaseline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/unsetuserassessmentbaselinemanagement/zz_controller.go b/internal/controller/cluster/datasafe/unsetuserassessmentbaselinemanagement/zz_controller.go index 8ade32a6b..8f3efb452 100755 --- a/internal/controller/cluster/datasafe/unsetuserassessmentbaselinemanagement/zz_controller.go +++ b/internal/controller/cluster/datasafe/unsetuserassessmentbaselinemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnsetUserAssessmentBaselineManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnsetUserAssessmentBaselineManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetUserAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetUserAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_user_assessment_baseline_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_user_assessment_baseline_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnsetUserAssessmentBaselineManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datasafe/userassessment/zz_controller.go b/internal/controller/cluster/datasafe/userassessment/zz_controller.go index 4864251c4..44aece4d7 100755 --- a/internal/controller/cluster/datasafe/userassessment/zz_controller.go +++ b/internal/controller/cluster/datasafe/userassessment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UserAssessment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UserAssessment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_user_assessment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_user_assessment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UserAssessment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/computetarget/zz_controller.go b/internal/controller/cluster/datascience/computetarget/zz_controller.go index c0fb56ee4..14d08bc47 100755 --- a/internal/controller/cluster/datascience/computetarget/zz_controller.go +++ b/internal/controller/cluster/datascience/computetarget/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeTarget_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeTarget_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_compute_target"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_compute_target"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeTarget_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/job/zz_controller.go b/internal/controller/cluster/datascience/job/zz_controller.go index 0934d649d..52a5d935f 100755 --- a/internal/controller/cluster/datascience/job/zz_controller.go +++ b/internal/controller/cluster/datascience/job/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Job_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Job_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Job_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Job_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Job_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/jobrun/zz_controller.go b/internal/controller/cluster/datascience/jobrun/zz_controller.go index e53302e8e..73c3b3034 100755 --- a/internal/controller/cluster/datascience/jobrun/zz_controller.go +++ b/internal/controller/cluster/datascience/jobrun/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.JobRun_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.JobRun_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JobRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JobRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_job_run"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_job_run"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.JobRun_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/mlapplication/zz_controller.go b/internal/controller/cluster/datascience/mlapplication/zz_controller.go index de74f91c5..545015959 100755 --- a/internal/controller/cluster/datascience/mlapplication/zz_controller.go +++ b/internal/controller/cluster/datascience/mlapplication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MlApplication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MlApplication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MlApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MlApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_ml_application"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_ml_application"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MlApplication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/mlapplicationimplementation/zz_controller.go b/internal/controller/cluster/datascience/mlapplicationimplementation/zz_controller.go index 2889ddadc..f7629ace8 100755 --- a/internal/controller/cluster/datascience/mlapplicationimplementation/zz_controller.go +++ b/internal/controller/cluster/datascience/mlapplicationimplementation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MlApplicationImplementation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MlApplicationImplementation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MlApplicationImplementation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MlApplicationImplementation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_ml_application_implementation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_ml_application_implementation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MlApplicationImplementation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/mlapplicationinstance/zz_controller.go b/internal/controller/cluster/datascience/mlapplicationinstance/zz_controller.go index 04d2faf0f..b786f3b39 100755 --- a/internal/controller/cluster/datascience/mlapplicationinstance/zz_controller.go +++ b/internal/controller/cluster/datascience/mlapplicationinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MlApplicationInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MlApplicationInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MlApplicationInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MlApplicationInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_ml_application_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_ml_application_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MlApplicationInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/model/zz_controller.go b/internal/controller/cluster/datascience/model/zz_controller.go index f965590a2..046ad0704 100755 --- a/internal/controller/cluster/datascience/model/zz_controller.go +++ b/internal/controller/cluster/datascience/model/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Model_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Model_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Model_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/modelartifactexport/zz_controller.go b/internal/controller/cluster/datascience/modelartifactexport/zz_controller.go index 224be622b..5f6a63e68 100755 --- a/internal/controller/cluster/datascience/modelartifactexport/zz_controller.go +++ b/internal/controller/cluster/datascience/modelartifactexport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelArtifactExport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelArtifactExport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelArtifactExport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelArtifactExport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_artifact_export"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_artifact_export"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelArtifactExport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/modelartifactimport/zz_controller.go b/internal/controller/cluster/datascience/modelartifactimport/zz_controller.go index d14b4d618..68df986da 100755 --- a/internal/controller/cluster/datascience/modelartifactimport/zz_controller.go +++ b/internal/controller/cluster/datascience/modelartifactimport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelArtifactImport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelArtifactImport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelArtifactImport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelArtifactImport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_artifact_import"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_artifact_import"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelArtifactImport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/modelcustommetadataartifact/zz_controller.go b/internal/controller/cluster/datascience/modelcustommetadataartifact/zz_controller.go index cd75edebb..224d0a483 100755 --- a/internal/controller/cluster/datascience/modelcustommetadataartifact/zz_controller.go +++ b/internal/controller/cluster/datascience/modelcustommetadataartifact/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelCustomMetadataArtifact_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelCustomMetadataArtifact_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelCustomMetadataArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelCustomMetadataArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_custom_metadata_artifact"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_custom_metadata_artifact"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelCustomMetadataArtifact_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/modeldefinedmetadataartifact/zz_controller.go b/internal/controller/cluster/datascience/modeldefinedmetadataartifact/zz_controller.go index 86a48452c..302e02b1e 100755 --- a/internal/controller/cluster/datascience/modeldefinedmetadataartifact/zz_controller.go +++ b/internal/controller/cluster/datascience/modeldefinedmetadataartifact/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelDefinedMetadataArtifact_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelDefinedMetadataArtifact_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelDefinedMetadataArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelDefinedMetadataArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_defined_metadata_artifact"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_defined_metadata_artifact"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelDefinedMetadataArtifact_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/modeldeployment/zz_controller.go b/internal/controller/cluster/datascience/modeldeployment/zz_controller.go index 1ca6b54d3..f65cee636 100755 --- a/internal/controller/cluster/datascience/modeldeployment/zz_controller.go +++ b/internal/controller/cluster/datascience/modeldeployment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelDeployment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelDeployment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelDeployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelDeployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_deployment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_deployment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelDeployment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/modelgroup/zz_controller.go b/internal/controller/cluster/datascience/modelgroup/zz_controller.go index f3ceeb643..ff8578fd7 100755 --- a/internal/controller/cluster/datascience/modelgroup/zz_controller.go +++ b/internal/controller/cluster/datascience/modelgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/modelgroupartifact/zz_controller.go b/internal/controller/cluster/datascience/modelgroupartifact/zz_controller.go index d2628f47d..cd80f9f79 100755 --- a/internal/controller/cluster/datascience/modelgroupartifact/zz_controller.go +++ b/internal/controller/cluster/datascience/modelgroupartifact/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelGroupArtifact_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelGroupArtifact_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelGroupArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelGroupArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_group_artifact"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_group_artifact"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelGroupArtifact_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/modelgroupversionhistory/zz_controller.go b/internal/controller/cluster/datascience/modelgroupversionhistory/zz_controller.go index f950ca8b4..e073574d8 100755 --- a/internal/controller/cluster/datascience/modelgroupversionhistory/zz_controller.go +++ b/internal/controller/cluster/datascience/modelgroupversionhistory/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelGroupVersionHistory_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelGroupVersionHistory_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelGroupVersionHistory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelGroupVersionHistory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_group_version_history"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_group_version_history"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelGroupVersionHistory_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/modelprovenance/zz_controller.go b/internal/controller/cluster/datascience/modelprovenance/zz_controller.go index 47a65c389..827840d20 100755 --- a/internal/controller/cluster/datascience/modelprovenance/zz_controller.go +++ b/internal/controller/cluster/datascience/modelprovenance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelProvenance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelProvenance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelProvenance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelProvenance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_provenance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_provenance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelProvenance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/modelversionset/zz_controller.go b/internal/controller/cluster/datascience/modelversionset/zz_controller.go index 49aa870f7..954ece37c 100755 --- a/internal/controller/cluster/datascience/modelversionset/zz_controller.go +++ b/internal/controller/cluster/datascience/modelversionset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelVersionSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelVersionSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelVersionSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelVersionSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_version_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_version_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelVersionSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/notebooksession/zz_controller.go b/internal/controller/cluster/datascience/notebooksession/zz_controller.go index 364b36460..7f951c533 100755 --- a/internal/controller/cluster/datascience/notebooksession/zz_controller.go +++ b/internal/controller/cluster/datascience/notebooksession/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NotebookSession_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NotebookSession_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NotebookSession_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NotebookSession_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_notebook_session"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_notebook_session"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NotebookSession_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/pipeline/zz_controller.go b/internal/controller/cluster/datascience/pipeline/zz_controller.go index e5d5bf845..7609637be 100755 --- a/internal/controller/cluster/datascience/pipeline/zz_controller.go +++ b/internal/controller/cluster/datascience/pipeline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Pipeline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Pipeline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Pipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Pipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_pipeline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_pipeline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Pipeline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/pipelinerun/zz_controller.go b/internal/controller/cluster/datascience/pipelinerun/zz_controller.go index 2cf68dced..fc7b19435 100755 --- a/internal/controller/cluster/datascience/pipelinerun/zz_controller.go +++ b/internal/controller/cluster/datascience/pipelinerun/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PipelineRun_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PipelineRun_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PipelineRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PipelineRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_pipeline_run"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_pipeline_run"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PipelineRun_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/privateendpoint/zz_controller.go b/internal/controller/cluster/datascience/privateendpoint/zz_controller.go index c2b6b5ece..76bad657b 100755 --- a/internal/controller/cluster/datascience/privateendpoint/zz_controller.go +++ b/internal/controller/cluster/datascience/privateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/project/zz_controller.go b/internal/controller/cluster/datascience/project/zz_controller.go index e829dfa80..398176c47 100755 --- a/internal/controller/cluster/datascience/project/zz_controller.go +++ b/internal/controller/cluster/datascience/project/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Project_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Project_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Project_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/datascience/schedule/zz_controller.go b/internal/controller/cluster/datascience/schedule/zz_controller.go index 729f3812a..c573677fa 100755 --- a/internal/controller/cluster/datascience/schedule/zz_controller.go +++ b/internal/controller/cluster/datascience/schedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Schedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Schedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Schedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Schedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Schedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dblm/vulnerabilityscan/zz_controller.go b/internal/controller/cluster/dblm/vulnerabilityscan/zz_controller.go index 8e36da66d..a13b8b683 100755 --- a/internal/controller/cluster/dblm/vulnerabilityscan/zz_controller.go +++ b/internal/controller/cluster/dblm/vulnerabilityscan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VulnerabilityScan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VulnerabilityScan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VulnerabilityScan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VulnerabilityScan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dblm_vulnerability_scan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dblm_vulnerability_scan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VulnerabilityScan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dbmulticloud/multicloudresourcediscovery/zz_controller.go b/internal/controller/cluster/dbmulticloud/multicloudresourcediscovery/zz_controller.go index 81215ba3b..a24c9755a 100755 --- a/internal/controller/cluster/dbmulticloud/multicloudresourcediscovery/zz_controller.go +++ b/internal/controller/cluster/dbmulticloud/multicloudresourcediscovery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MultiCloudResourceDiscovery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MultiCloudResourceDiscovery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MultiCloudResourceDiscovery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MultiCloudResourceDiscovery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_multi_cloud_resource_discovery"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_multi_cloud_resource_discovery"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MultiCloudResourceDiscovery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dbmulticloud/oracledbawsidentityconnector/zz_controller.go b/internal/controller/cluster/dbmulticloud/oracledbawsidentityconnector/zz_controller.go index 4ca791ebb..80a159282 100755 --- a/internal/controller/cluster/dbmulticloud/oracledbawsidentityconnector/zz_controller.go +++ b/internal/controller/cluster/dbmulticloud/oracledbawsidentityconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAwsIdentityConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAwsIdentityConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAwsIdentityConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAwsIdentityConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_aws_identity_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_aws_identity_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAwsIdentityConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dbmulticloud/oracledbawskey/zz_controller.go b/internal/controller/cluster/dbmulticloud/oracledbawskey/zz_controller.go index 45891d72d..1e8c1fd5e 100755 --- a/internal/controller/cluster/dbmulticloud/oracledbawskey/zz_controller.go +++ b/internal/controller/cluster/dbmulticloud/oracledbawskey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAwsKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAwsKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAwsKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAwsKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_aws_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_aws_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAwsKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dbmulticloud/oracledbazureblobcontainer/zz_controller.go b/internal/controller/cluster/dbmulticloud/oracledbazureblobcontainer/zz_controller.go index 5749642e2..6a536f993 100755 --- a/internal/controller/cluster/dbmulticloud/oracledbazureblobcontainer/zz_controller.go +++ b/internal/controller/cluster/dbmulticloud/oracledbazureblobcontainer/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAzureBlobContainer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAzureBlobContainer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureBlobContainer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureBlobContainer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_blob_container"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_blob_container"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAzureBlobContainer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dbmulticloud/oracledbazureblobmount/zz_controller.go b/internal/controller/cluster/dbmulticloud/oracledbazureblobmount/zz_controller.go index 635112706..101af9ac3 100755 --- a/internal/controller/cluster/dbmulticloud/oracledbazureblobmount/zz_controller.go +++ b/internal/controller/cluster/dbmulticloud/oracledbazureblobmount/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAzureBlobMount_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAzureBlobMount_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureBlobMount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureBlobMount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_blob_mount"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_blob_mount"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAzureBlobMount_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dbmulticloud/oracledbazureconnector/zz_controller.go b/internal/controller/cluster/dbmulticloud/oracledbazureconnector/zz_controller.go index 656195228..1b0df41f1 100755 --- a/internal/controller/cluster/dbmulticloud/oracledbazureconnector/zz_controller.go +++ b/internal/controller/cluster/dbmulticloud/oracledbazureconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAzureConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAzureConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAzureConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dbmulticloud/oracledbazurevault/zz_controller.go b/internal/controller/cluster/dbmulticloud/oracledbazurevault/zz_controller.go index b6515b4f1..92ebd2ec9 100755 --- a/internal/controller/cluster/dbmulticloud/oracledbazurevault/zz_controller.go +++ b/internal/controller/cluster/dbmulticloud/oracledbazurevault/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAzureVault_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAzureVault_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureVault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureVault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_vault"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_vault"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAzureVault_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dbmulticloud/oracledbazurevaultassociation/zz_controller.go b/internal/controller/cluster/dbmulticloud/oracledbazurevaultassociation/zz_controller.go index 9fe67fa24..a8267463d 100755 --- a/internal/controller/cluster/dbmulticloud/oracledbazurevaultassociation/zz_controller.go +++ b/internal/controller/cluster/dbmulticloud/oracledbazurevaultassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAzureVaultAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAzureVaultAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureVaultAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureVaultAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_vault_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_vault_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAzureVaultAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dbmulticloud/oracledbgcpidentityconnector/zz_controller.go b/internal/controller/cluster/dbmulticloud/oracledbgcpidentityconnector/zz_controller.go index 9e56e57ae..5e4915fd8 100755 --- a/internal/controller/cluster/dbmulticloud/oracledbgcpidentityconnector/zz_controller.go +++ b/internal/controller/cluster/dbmulticloud/oracledbgcpidentityconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbGcpIdentityConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbGcpIdentityConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbGcpIdentityConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbGcpIdentityConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_gcp_identity_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_gcp_identity_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbGcpIdentityConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dbmulticloud/oracledbgcpkeyring/zz_controller.go b/internal/controller/cluster/dbmulticloud/oracledbgcpkeyring/zz_controller.go index b59c326ea..0faf694d5 100755 --- a/internal/controller/cluster/dbmulticloud/oracledbgcpkeyring/zz_controller.go +++ b/internal/controller/cluster/dbmulticloud/oracledbgcpkeyring/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbGcpKeyRing_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbGcpKeyRing_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbGcpKeyRing_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbGcpKeyRing_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_gcp_key_ring"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_gcp_key_ring"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbGcpKeyRing_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/delegateaccesscontrol/delegationcontrol/zz_controller.go b/internal/controller/cluster/delegateaccesscontrol/delegationcontrol/zz_controller.go index c7a962303..d4efc5a58 100755 --- a/internal/controller/cluster/delegateaccesscontrol/delegationcontrol/zz_controller.go +++ b/internal/controller/cluster/delegateaccesscontrol/delegationcontrol/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DelegationControl_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DelegationControl_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DelegationControl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DelegationControl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_delegate_access_control_delegation_control"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_delegate_access_control_delegation_control"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DelegationControl_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/delegateaccesscontrol/delegationsubscription/zz_controller.go b/internal/controller/cluster/delegateaccesscontrol/delegationsubscription/zz_controller.go index 222418b02..d0b5e01a0 100755 --- a/internal/controller/cluster/delegateaccesscontrol/delegationsubscription/zz_controller.go +++ b/internal/controller/cluster/delegateaccesscontrol/delegationsubscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DelegationSubscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DelegationSubscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DelegationSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DelegationSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_delegate_access_control_delegation_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_delegate_access_control_delegation_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DelegationSubscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/demandsignal/occdemandsignal/zz_controller.go b/internal/controller/cluster/demandsignal/occdemandsignal/zz_controller.go index a186ca395..490019396 100755 --- a/internal/controller/cluster/demandsignal/occdemandsignal/zz_controller.go +++ b/internal/controller/cluster/demandsignal/occdemandsignal/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccDemandSignal_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccDemandSignal_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccDemandSignal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccDemandSignal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_demand_signal_occ_demand_signal"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_demand_signal_occ_demand_signal"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccDemandSignal_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/demandsignal/occmetricalarm/zz_controller.go b/internal/controller/cluster/demandsignal/occmetricalarm/zz_controller.go index 238cee5cb..dce2e70e8 100755 --- a/internal/controller/cluster/demandsignal/occmetricalarm/zz_controller.go +++ b/internal/controller/cluster/demandsignal/occmetricalarm/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccMetricAlarm_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccMetricAlarm_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccMetricAlarm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccMetricAlarm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_demand_signal_occ_metric_alarm"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_demand_signal_occ_metric_alarm"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccMetricAlarm_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/desktops/desktoppool/zz_controller.go b/internal/controller/cluster/desktops/desktoppool/zz_controller.go index 4e4e6de71..e3425555b 100755 --- a/internal/controller/cluster/desktops/desktoppool/zz_controller.go +++ b/internal/controller/cluster/desktops/desktoppool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DesktopPool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DesktopPool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DesktopPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DesktopPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_desktops_desktop_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_desktops_desktop_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DesktopPool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/buildpipeline/zz_controller.go b/internal/controller/cluster/devops/buildpipeline/zz_controller.go index a43d4f120..82948fa80 100755 --- a/internal/controller/cluster/devops/buildpipeline/zz_controller.go +++ b/internal/controller/cluster/devops/buildpipeline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BuildPipeline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BuildPipeline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BuildPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BuildPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_build_pipeline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_build_pipeline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BuildPipeline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/buildpipelinestage/zz_controller.go b/internal/controller/cluster/devops/buildpipelinestage/zz_controller.go index dc453f54c..619ec2c83 100755 --- a/internal/controller/cluster/devops/buildpipelinestage/zz_controller.go +++ b/internal/controller/cluster/devops/buildpipelinestage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BuildPipelineStage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BuildPipelineStage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BuildPipelineStage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BuildPipelineStage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_build_pipeline_stage"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_build_pipeline_stage"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BuildPipelineStage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/buildrun/zz_controller.go b/internal/controller/cluster/devops/buildrun/zz_controller.go index 201a8ac44..e16413e34 100755 --- a/internal/controller/cluster/devops/buildrun/zz_controller.go +++ b/internal/controller/cluster/devops/buildrun/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BuildRun_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BuildRun_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BuildRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BuildRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_build_run"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_build_run"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BuildRun_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/connection/zz_controller.go b/internal/controller/cluster/devops/connection/zz_controller.go index cda097c36..6356aa482 100755 --- a/internal/controller/cluster/devops/connection/zz_controller.go +++ b/internal/controller/cluster/devops/connection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Connection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Connection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Connection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Connection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Connection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/deployartifact/zz_controller.go b/internal/controller/cluster/devops/deployartifact/zz_controller.go index fbe5e22f4..12950bb76 100755 --- a/internal/controller/cluster/devops/deployartifact/zz_controller.go +++ b/internal/controller/cluster/devops/deployartifact/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DeployArtifact_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DeployArtifact_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_artifact"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_artifact"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DeployArtifact_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/deployenvironment/zz_controller.go b/internal/controller/cluster/devops/deployenvironment/zz_controller.go index f8d30afc4..6d71ddfdf 100755 --- a/internal/controller/cluster/devops/deployenvironment/zz_controller.go +++ b/internal/controller/cluster/devops/deployenvironment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DeployEnvironment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DeployEnvironment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_environment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_environment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DeployEnvironment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/deployment/zz_controller.go b/internal/controller/cluster/devops/deployment/zz_controller.go index febb75820..340ae54f7 100755 --- a/internal/controller/cluster/devops/deployment/zz_controller.go +++ b/internal/controller/cluster/devops/deployment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Deployment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Deployment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Deployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Deployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_deployment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_deployment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Deployment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/deploypipeline/zz_controller.go b/internal/controller/cluster/devops/deploypipeline/zz_controller.go index 3508fd395..71e931dce 100755 --- a/internal/controller/cluster/devops/deploypipeline/zz_controller.go +++ b/internal/controller/cluster/devops/deploypipeline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DeployPipeline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DeployPipeline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_pipeline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_pipeline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DeployPipeline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/deploystage/zz_controller.go b/internal/controller/cluster/devops/deploystage/zz_controller.go index 042aaf46b..d269f311f 100755 --- a/internal/controller/cluster/devops/deploystage/zz_controller.go +++ b/internal/controller/cluster/devops/deploystage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DeployStage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DeployStage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployStage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployStage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_stage"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_stage"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DeployStage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/project/zz_controller.go b/internal/controller/cluster/devops/project/zz_controller.go index 0b01d91bc..d170985fe 100755 --- a/internal/controller/cluster/devops/project/zz_controller.go +++ b/internal/controller/cluster/devops/project/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Project_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Project_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Project_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/projectrepositorysetting/zz_controller.go b/internal/controller/cluster/devops/projectrepositorysetting/zz_controller.go index 7e212537a..d7441ef8d 100755 --- a/internal/controller/cluster/devops/projectrepositorysetting/zz_controller.go +++ b/internal/controller/cluster/devops/projectrepositorysetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProjectRepositorySetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProjectRepositorySetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProjectRepositorySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProjectRepositorySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_project_repository_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_project_repository_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProjectRepositorySetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/repository/zz_controller.go b/internal/controller/cluster/devops/repository/zz_controller.go index 3b346e76d..e214ca4a8 100755 --- a/internal/controller/cluster/devops/repository/zz_controller.go +++ b/internal/controller/cluster/devops/repository/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Repository_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Repository_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Repository_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Repository_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_repository"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_repository"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Repository_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/repositorymirror/zz_controller.go b/internal/controller/cluster/devops/repositorymirror/zz_controller.go index 5e53a0112..afd094290 100755 --- a/internal/controller/cluster/devops/repositorymirror/zz_controller.go +++ b/internal/controller/cluster/devops/repositorymirror/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RepositoryMirror_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RepositoryMirror_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositoryMirror_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositoryMirror_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_mirror"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_mirror"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RepositoryMirror_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/repositoryprotectedbranchmanagement/zz_controller.go b/internal/controller/cluster/devops/repositoryprotectedbranchmanagement/zz_controller.go index ab800992d..21713d3b4 100755 --- a/internal/controller/cluster/devops/repositoryprotectedbranchmanagement/zz_controller.go +++ b/internal/controller/cluster/devops/repositoryprotectedbranchmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RepositoryProtectedBranchManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RepositoryProtectedBranchManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositoryProtectedBranchManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositoryProtectedBranchManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_protected_branch_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_protected_branch_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RepositoryProtectedBranchManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/repositoryref/zz_controller.go b/internal/controller/cluster/devops/repositoryref/zz_controller.go index a43a4143e..aeb326d01 100755 --- a/internal/controller/cluster/devops/repositoryref/zz_controller.go +++ b/internal/controller/cluster/devops/repositoryref/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RepositoryRef_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RepositoryRef_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositoryRef_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositoryRef_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_ref"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_ref"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RepositoryRef_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/repositorysetting/zz_controller.go b/internal/controller/cluster/devops/repositorysetting/zz_controller.go index 2a70cb29f..536e587c3 100755 --- a/internal/controller/cluster/devops/repositorysetting/zz_controller.go +++ b/internal/controller/cluster/devops/repositorysetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RepositorySetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RepositorySetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositorySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositorySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RepositorySetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/devops/trigger/zz_controller.go b/internal/controller/cluster/devops/trigger/zz_controller.go index fdf864f03..848ed550a 100755 --- a/internal/controller/cluster/devops/trigger/zz_controller.go +++ b/internal/controller/cluster/devops/trigger/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Trigger_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Trigger_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Trigger_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Trigger_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_trigger"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_trigger"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Trigger_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dif/stack/zz_controller.go b/internal/controller/cluster/dif/stack/zz_controller.go index e96ca2ee3..a8a3869fe 100755 --- a/internal/controller/cluster/dif/stack/zz_controller.go +++ b/internal/controller/cluster/dif/stack/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Stack_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Stack_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Stack_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Stack_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dif_stack"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dif_stack"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Stack_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/disasterrecovery/automaticdrconfiguration/zz_controller.go b/internal/controller/cluster/disasterrecovery/automaticdrconfiguration/zz_controller.go index ef7e1af28..5fe4a8e67 100755 --- a/internal/controller/cluster/disasterrecovery/automaticdrconfiguration/zz_controller.go +++ b/internal/controller/cluster/disasterrecovery/automaticdrconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutomaticDrConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutomaticDrConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutomaticDrConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutomaticDrConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_automatic_dr_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_automatic_dr_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutomaticDrConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/disasterrecovery/drplan/zz_controller.go b/internal/controller/cluster/disasterrecovery/drplan/zz_controller.go index 55b51b57f..f802c658c 100755 --- a/internal/controller/cluster/disasterrecovery/drplan/zz_controller.go +++ b/internal/controller/cluster/disasterrecovery/drplan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrPlan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrPlan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_dr_plan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_dr_plan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrPlan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/disasterrecovery/drplanexecution/zz_controller.go b/internal/controller/cluster/disasterrecovery/drplanexecution/zz_controller.go index d8820db18..a9d147b6c 100755 --- a/internal/controller/cluster/disasterrecovery/drplanexecution/zz_controller.go +++ b/internal/controller/cluster/disasterrecovery/drplanexecution/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrPlanExecution_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrPlanExecution_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrPlanExecution_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrPlanExecution_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_dr_plan_execution"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_dr_plan_execution"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrPlanExecution_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/disasterrecovery/drprotectiongroup/zz_controller.go b/internal/controller/cluster/disasterrecovery/drprotectiongroup/zz_controller.go index 4c05b3330..e3f1c6e51 100755 --- a/internal/controller/cluster/disasterrecovery/drprotectiongroup/zz_controller.go +++ b/internal/controller/cluster/disasterrecovery/drprotectiongroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrProtectionGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrProtectionGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrProtectionGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrProtectionGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_dr_protection_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_dr_protection_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrProtectionGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/distributeddatabase/distributedautonomousdatabase/zz_controller.go b/internal/controller/cluster/distributeddatabase/distributedautonomousdatabase/zz_controller.go index e3cf3eb1e..638d6d6ec 100755 --- a/internal/controller/cluster/distributeddatabase/distributedautonomousdatabase/zz_controller.go +++ b/internal/controller/cluster/distributeddatabase/distributedautonomousdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DistributedAutonomousDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DistributedAutonomousDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DistributedAutonomousDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DistributedAutonomousDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_distributed_database_distributed_autonomous_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_distributed_database_distributed_autonomous_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DistributedAutonomousDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/distributeddatabase/distributeddatabase/zz_controller.go b/internal/controller/cluster/distributeddatabase/distributeddatabase/zz_controller.go index 47d8c36ba..53ff50b00 100755 --- a/internal/controller/cluster/distributeddatabase/distributeddatabase/zz_controller.go +++ b/internal/controller/cluster/distributeddatabase/distributeddatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DistributedDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DistributedDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DistributedDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DistributedDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_distributed_database_distributed_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_distributed_database_distributed_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DistributedDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/distributeddatabase/distributeddatabaseprivateendpoint/zz_controller.go b/internal/controller/cluster/distributeddatabase/distributeddatabaseprivateendpoint/zz_controller.go index 5bc06f0da..19ed7c170 100755 --- a/internal/controller/cluster/distributeddatabase/distributeddatabaseprivateendpoint/zz_controller.go +++ b/internal/controller/cluster/distributeddatabase/distributeddatabaseprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DistributedDatabasePrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DistributedDatabasePrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DistributedDatabasePrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DistributedDatabasePrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_distributed_database_distributed_database_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_distributed_database_distributed_database_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DistributedDatabasePrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dns/actioncreatezonefromzonefile/zz_controller.go b/internal/controller/cluster/dns/actioncreatezonefromzonefile/zz_controller.go index f300dfed4..766d7ff9d 100755 --- a/internal/controller/cluster/dns/actioncreatezonefromzonefile/zz_controller.go +++ b/internal/controller/cluster/dns/actioncreatezonefromzonefile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ActionCreateZoneFromZoneFile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ActionCreateZoneFromZoneFile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ActionCreateZoneFromZoneFile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ActionCreateZoneFromZoneFile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_action_create_zone_from_zone_file"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_action_create_zone_from_zone_file"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ActionCreateZoneFromZoneFile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dns/record/zz_controller.go b/internal/controller/cluster/dns/record/zz_controller.go index b08b24800..0e9ecc0c1 100755 --- a/internal/controller/cluster/dns/record/zz_controller.go +++ b/internal/controller/cluster/dns/record/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Record_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Record_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Record_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Record_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_record"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_record"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Record_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dns/resolver/zz_controller.go b/internal/controller/cluster/dns/resolver/zz_controller.go index d9c8695f2..0216873de 100755 --- a/internal/controller/cluster/dns/resolver/zz_controller.go +++ b/internal/controller/cluster/dns/resolver/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Resolver_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Resolver_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Resolver_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Resolver_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_resolver"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_resolver"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Resolver_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dns/resolverendpoint/zz_controller.go b/internal/controller/cluster/dns/resolverendpoint/zz_controller.go index 12eddb4e9..025e1f010 100755 --- a/internal/controller/cluster/dns/resolverendpoint/zz_controller.go +++ b/internal/controller/cluster/dns/resolverendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ResolverEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ResolverEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResolverEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResolverEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_resolver_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_resolver_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ResolverEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dns/rrset/zz_controller.go b/internal/controller/cluster/dns/rrset/zz_controller.go index 51761813c..11c2020ef 100755 --- a/internal/controller/cluster/dns/rrset/zz_controller.go +++ b/internal/controller/cluster/dns/rrset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Rrset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Rrset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Rrset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Rrset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_rrset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_rrset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Rrset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dns/steeringpolicy/zz_controller.go b/internal/controller/cluster/dns/steeringpolicy/zz_controller.go index a235138a7..8955e7769 100755 --- a/internal/controller/cluster/dns/steeringpolicy/zz_controller.go +++ b/internal/controller/cluster/dns/steeringpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SteeringPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SteeringPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SteeringPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SteeringPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_steering_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_steering_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SteeringPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dns/steeringpolicyattachment/zz_controller.go b/internal/controller/cluster/dns/steeringpolicyattachment/zz_controller.go index 7d30271fc..b5ec04db2 100755 --- a/internal/controller/cluster/dns/steeringpolicyattachment/zz_controller.go +++ b/internal/controller/cluster/dns/steeringpolicyattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SteeringPolicyAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SteeringPolicyAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SteeringPolicyAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SteeringPolicyAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_steering_policy_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_steering_policy_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SteeringPolicyAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dns/tsigkey/zz_controller.go b/internal/controller/cluster/dns/tsigkey/zz_controller.go index 4d2e7b5b5..2b21f51e4 100755 --- a/internal/controller/cluster/dns/tsigkey/zz_controller.go +++ b/internal/controller/cluster/dns/tsigkey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TsigKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TsigKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TsigKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TsigKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_tsig_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_tsig_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TsigKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dns/view/zz_controller.go b/internal/controller/cluster/dns/view/zz_controller.go index 05f9a985c..2d8151667 100755 --- a/internal/controller/cluster/dns/view/zz_controller.go +++ b/internal/controller/cluster/dns/view/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.View_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.View_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.View_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.View_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_view"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_view"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.View_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dns/zone/zz_controller.go b/internal/controller/cluster/dns/zone/zz_controller.go index 8e5b743cd..377371574 100755 --- a/internal/controller/cluster/dns/zone/zz_controller.go +++ b/internal/controller/cluster/dns/zone/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Zone_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Zone_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Zone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Zone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_zone"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_zone"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Zone_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dns/zonepromotednsseckeyversion/zz_controller.go b/internal/controller/cluster/dns/zonepromotednsseckeyversion/zz_controller.go index e41665762..044f922ba 100755 --- a/internal/controller/cluster/dns/zonepromotednsseckeyversion/zz_controller.go +++ b/internal/controller/cluster/dns/zonepromotednsseckeyversion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ZonePromoteDnssecKeyVersion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ZonePromoteDnssecKeyVersion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ZonePromoteDnssecKeyVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ZonePromoteDnssecKeyVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_zone_promote_dnssec_key_version"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_zone_promote_dnssec_key_version"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ZonePromoteDnssecKeyVersion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/dns/zonestagednsseckeyversion/zz_controller.go b/internal/controller/cluster/dns/zonestagednsseckeyversion/zz_controller.go index 83e620e6a..55eb3ddd3 100755 --- a/internal/controller/cluster/dns/zonestagednsseckeyversion/zz_controller.go +++ b/internal/controller/cluster/dns/zonestagednsseckeyversion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ZoneStageDnssecKeyVersion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ZoneStageDnssecKeyVersion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ZoneStageDnssecKeyVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ZoneStageDnssecKeyVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_zone_stage_dnssec_key_version"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_zone_stage_dnssec_key_version"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ZoneStageDnssecKeyVersion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/email/dkim/zz_controller.go b/internal/controller/cluster/email/dkim/zz_controller.go index b614e4345..db4ebff04 100755 --- a/internal/controller/cluster/email/dkim/zz_controller.go +++ b/internal/controller/cluster/email/dkim/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Dkim_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Dkim_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Dkim_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Dkim_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_email_dkim"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_email_dkim"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Dkim_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/email/emaildomain/zz_controller.go b/internal/controller/cluster/email/emaildomain/zz_controller.go index 9cf5a1561..4ffaa6fe5 100755 --- a/internal/controller/cluster/email/emaildomain/zz_controller.go +++ b/internal/controller/cluster/email/emaildomain/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EmailDomain_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EmailDomain_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EmailDomain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EmailDomain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_email_email_domain"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_email_email_domain"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EmailDomain_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/email/emailippool/zz_controller.go b/internal/controller/cluster/email/emailippool/zz_controller.go index b2b2c3094..a23e5a992 100755 --- a/internal/controller/cluster/email/emailippool/zz_controller.go +++ b/internal/controller/cluster/email/emailippool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EmailIpPool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EmailIpPool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EmailIpPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EmailIpPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_email_email_ip_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_email_email_ip_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EmailIpPool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/email/emailreturnpath/zz_controller.go b/internal/controller/cluster/email/emailreturnpath/zz_controller.go index 98e062f5d..995098153 100755 --- a/internal/controller/cluster/email/emailreturnpath/zz_controller.go +++ b/internal/controller/cluster/email/emailreturnpath/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EmailReturnPath_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EmailReturnPath_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EmailReturnPath_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EmailReturnPath_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_email_email_return_path"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_email_email_return_path"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EmailReturnPath_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/email/sender/zz_controller.go b/internal/controller/cluster/email/sender/zz_controller.go index 3c16e451a..7ec26864a 100755 --- a/internal/controller/cluster/email/sender/zz_controller.go +++ b/internal/controller/cluster/email/sender/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Sender_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Sender_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Sender_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Sender_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_email_sender"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_email_sender"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Sender_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/email/suppression/zz_controller.go b/internal/controller/cluster/email/suppression/zz_controller.go index f392cf99d..ad81cb2f2 100755 --- a/internal/controller/cluster/email/suppression/zz_controller.go +++ b/internal/controller/cluster/email/suppression/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Suppression_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Suppression_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Suppression_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Suppression_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_email_suppression"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_email_suppression"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Suppression_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/events/rule/zz_controller.go b/internal/controller/cluster/events/rule/zz_controller.go index 340c9fa04..d8ca17bc5 100755 --- a/internal/controller/cluster/events/rule/zz_controller.go +++ b/internal/controller/cluster/events/rule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Rule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Rule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Rule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Rule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_events_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_events_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Rule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/filestorage/export/zz_controller.go b/internal/controller/cluster/filestorage/export/zz_controller.go index 04bc41200..95843cb7e 100755 --- a/internal/controller/cluster/filestorage/export/zz_controller.go +++ b/internal/controller/cluster/filestorage/export/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Export_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Export_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Export_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Export_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_export"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_export"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Export_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/filestorage/exportset/zz_controller.go b/internal/controller/cluster/filestorage/exportset/zz_controller.go index 7c5dcd200..be92891df 100755 --- a/internal/controller/cluster/filestorage/exportset/zz_controller.go +++ b/internal/controller/cluster/filestorage/exportset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExportSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExportSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExportSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExportSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_export_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_export_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExportSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/filestorage/filesystem/zz_controller.go b/internal/controller/cluster/filestorage/filesystem/zz_controller.go index 033d6f0ea..458bffc9d 100755 --- a/internal/controller/cluster/filestorage/filesystem/zz_controller.go +++ b/internal/controller/cluster/filestorage/filesystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FileSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FileSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FileSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FileSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_file_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_file_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FileSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/filestorage/filesystemquotarule/zz_controller.go b/internal/controller/cluster/filestorage/filesystemquotarule/zz_controller.go index 63f186a2f..40dd067d4 100755 --- a/internal/controller/cluster/filestorage/filesystemquotarule/zz_controller.go +++ b/internal/controller/cluster/filestorage/filesystemquotarule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FileSystemQuotaRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FileSystemQuotaRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FileSystemQuotaRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FileSystemQuotaRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_file_system_quota_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_file_system_quota_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FileSystemQuotaRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/filestorage/filesystemsnapshotpolicy/zz_controller.go b/internal/controller/cluster/filestorage/filesystemsnapshotpolicy/zz_controller.go index 392f7c514..15f3794c4 100755 --- a/internal/controller/cluster/filestorage/filesystemsnapshotpolicy/zz_controller.go +++ b/internal/controller/cluster/filestorage/filesystemsnapshotpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FilesystemSnapshotPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FilesystemSnapshotPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FilesystemSnapshotPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FilesystemSnapshotPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_filesystem_snapshot_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_filesystem_snapshot_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FilesystemSnapshotPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/filestorage/mounttarget/zz_controller.go b/internal/controller/cluster/filestorage/mounttarget/zz_controller.go index 4023ca4a5..1b2d67c4b 100755 --- a/internal/controller/cluster/filestorage/mounttarget/zz_controller.go +++ b/internal/controller/cluster/filestorage/mounttarget/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MountTarget_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MountTarget_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MountTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MountTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_mount_target"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_mount_target"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MountTarget_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/filestorage/outboundconnector/zz_controller.go b/internal/controller/cluster/filestorage/outboundconnector/zz_controller.go index a646a53e4..3cf553add 100755 --- a/internal/controller/cluster/filestorage/outboundconnector/zz_controller.go +++ b/internal/controller/cluster/filestorage/outboundconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OutboundConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OutboundConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OutboundConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OutboundConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_outbound_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_outbound_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OutboundConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/filestorage/replication/zz_controller.go b/internal/controller/cluster/filestorage/replication/zz_controller.go index 1d9a3922e..e4a9e8bd9 100755 --- a/internal/controller/cluster/filestorage/replication/zz_controller.go +++ b/internal/controller/cluster/filestorage/replication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Replication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Replication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Replication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Replication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_replication"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_replication"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Replication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/filestorage/snapshot/zz_controller.go b/internal/controller/cluster/filestorage/snapshot/zz_controller.go index 8d6783353..380f0983f 100755 --- a/internal/controller/cluster/filestorage/snapshot/zz_controller.go +++ b/internal/controller/cluster/filestorage/snapshot/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Snapshot_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Snapshot_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Snapshot_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Snapshot_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_snapshot"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_snapshot"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Snapshot_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/catalogitem/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/catalogitem/zz_controller.go index 0df435d76..e38e934c0 100755 --- a/internal/controller/cluster/fleetappsmanagement/catalogitem/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/catalogitem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CatalogItem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CatalogItem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CatalogItem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CatalogItem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_catalog_item"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_catalog_item"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CatalogItem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/compliancepolicyrule/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/compliancepolicyrule/zz_controller.go index f0aaa47cc..1f702725c 100755 --- a/internal/controller/cluster/fleetappsmanagement/compliancepolicyrule/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/compliancepolicyrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CompliancePolicyRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CompliancePolicyRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CompliancePolicyRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CompliancePolicyRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_compliance_policy_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_compliance_policy_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CompliancePolicyRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/fleet/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/fleet/zz_controller.go index ac0773235..bdf8c0473 100755 --- a/internal/controller/cluster/fleetappsmanagement/fleet/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/fleet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Fleet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Fleet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Fleet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Fleet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Fleet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/fleetcredential/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/fleetcredential/zz_controller.go index 3d5e62a4f..3bd3254eb 100755 --- a/internal/controller/cluster/fleetappsmanagement/fleetcredential/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/fleetcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FleetCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FleetCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FleetCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/fleetproperty/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/fleetproperty/zz_controller.go index 6a30a0362..f1b4195ae 100755 --- a/internal/controller/cluster/fleetappsmanagement/fleetproperty/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/fleetproperty/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FleetProperty_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FleetProperty_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetProperty_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetProperty_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet_property"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet_property"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FleetProperty_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/fleetresource/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/fleetresource/zz_controller.go index fb0066af7..ba6cec2c8 100755 --- a/internal/controller/cluster/fleetappsmanagement/fleetresource/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/fleetresource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FleetResource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FleetResource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetResource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetResource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet_resource"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet_resource"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FleetResource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/maintenancewindow/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/maintenancewindow/zz_controller.go index c7b92582f..5c424dc80 100755 --- a/internal/controller/cluster/fleetappsmanagement/maintenancewindow/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/maintenancewindow/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaintenanceWindow_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaintenanceWindow_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_maintenance_window"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_maintenance_window"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaintenanceWindow_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/onboarding/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/onboarding/zz_controller.go index f0a48d44d..1f207fb1e 100755 --- a/internal/controller/cluster/fleetappsmanagement/onboarding/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/onboarding/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Onboarding_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Onboarding_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Onboarding_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Onboarding_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_onboarding"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_onboarding"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Onboarding_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/patch/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/patch/zz_controller.go index fce0d3970..08432dd50 100755 --- a/internal/controller/cluster/fleetappsmanagement/patch/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/patch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Patch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Patch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Patch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Patch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_patch"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_patch"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Patch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/platformconfiguration/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/platformconfiguration/zz_controller.go index 3c0d80e36..9dae9cb97 100755 --- a/internal/controller/cluster/fleetappsmanagement/platformconfiguration/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/platformconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PlatformConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PlatformConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PlatformConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PlatformConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_platform_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_platform_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PlatformConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/property/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/property/zz_controller.go index 0f5735250..7760b82d8 100755 --- a/internal/controller/cluster/fleetappsmanagement/property/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/property/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Property_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Property_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Property_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Property_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_property"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_property"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Property_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/provision/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/provision/zz_controller.go index 1a8af6df7..ab79299d3 100755 --- a/internal/controller/cluster/fleetappsmanagement/provision/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/provision/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Provision_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Provision_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Provision_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Provision_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_provision"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_provision"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Provision_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/runbook/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/runbook/zz_controller.go index 187e194ba..1075d8c53 100755 --- a/internal/controller/cluster/fleetappsmanagement/runbook/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/runbook/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Runbook_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Runbook_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Runbook_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Runbook_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_runbook"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_runbook"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Runbook_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/runbookversion/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/runbookversion/zz_controller.go index 86c7bdeef..409abcef9 100755 --- a/internal/controller/cluster/fleetappsmanagement/runbookversion/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/runbookversion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RunbookVersion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RunbookVersion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RunbookVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RunbookVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_runbook_version"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_runbook_version"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RunbookVersion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/schedulerdefinition/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/schedulerdefinition/zz_controller.go index effcb375b..1ffb35d32 100755 --- a/internal/controller/cluster/fleetappsmanagement/schedulerdefinition/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/schedulerdefinition/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SchedulerDefinition_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SchedulerDefinition_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulerDefinition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulerDefinition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_scheduler_definition"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_scheduler_definition"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SchedulerDefinition_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetappsmanagement/taskrecord/zz_controller.go b/internal/controller/cluster/fleetappsmanagement/taskrecord/zz_controller.go index f7492190e..71fe1623d 100755 --- a/internal/controller/cluster/fleetappsmanagement/taskrecord/zz_controller.go +++ b/internal/controller/cluster/fleetappsmanagement/taskrecord/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TaskRecord_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TaskRecord_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TaskRecord_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TaskRecord_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_task_record"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_task_record"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TaskRecord_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetsoftwareupdate/fsucollection/zz_controller.go b/internal/controller/cluster/fleetsoftwareupdate/fsucollection/zz_controller.go index 63172f1ff..afa28a90d 100755 --- a/internal/controller/cluster/fleetsoftwareupdate/fsucollection/zz_controller.go +++ b/internal/controller/cluster/fleetsoftwareupdate/fsucollection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FsuCollection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FsuCollection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FsuCollection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FsuCollection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_software_update_fsu_collection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_software_update_fsu_collection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FsuCollection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetsoftwareupdate/fsucycle/zz_controller.go b/internal/controller/cluster/fleetsoftwareupdate/fsucycle/zz_controller.go index 7d8e255ff..c336072cb 100755 --- a/internal/controller/cluster/fleetsoftwareupdate/fsucycle/zz_controller.go +++ b/internal/controller/cluster/fleetsoftwareupdate/fsucycle/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FsuCycle_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FsuCycle_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FsuCycle_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FsuCycle_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_software_update_fsu_cycle"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_software_update_fsu_cycle"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FsuCycle_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fleetsoftwareupdate/fsureadinesscheck/zz_controller.go b/internal/controller/cluster/fleetsoftwareupdate/fsureadinesscheck/zz_controller.go index 1e587dafe..4f7a0c3b6 100755 --- a/internal/controller/cluster/fleetsoftwareupdate/fsureadinesscheck/zz_controller.go +++ b/internal/controller/cluster/fleetsoftwareupdate/fsureadinesscheck/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FsuReadinessCheck_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FsuReadinessCheck_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FsuReadinessCheck_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FsuReadinessCheck_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_software_update_fsu_readiness_check"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_software_update_fsu_readiness_check"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FsuReadinessCheck_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/functions/application/zz_controller.go b/internal/controller/cluster/functions/application/zz_controller.go index 1cf6c9a9d..185675999 100755 --- a/internal/controller/cluster/functions/application/zz_controller.go +++ b/internal/controller/cluster/functions/application/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Application_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Application_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Application_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Application_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_functions_application"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_functions_application"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Application_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/functions/function/zz_controller.go b/internal/controller/cluster/functions/function/zz_controller.go index 68d8791ae..151898120 100755 --- a/internal/controller/cluster/functions/function/zz_controller.go +++ b/internal/controller/cluster/functions/function/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Function_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Function_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Function_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Function_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_functions_function"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_functions_function"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Function_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/functions/invokefunction/zz_controller.go b/internal/controller/cluster/functions/invokefunction/zz_controller.go index a005e0854..0ef3cc9b8 100755 --- a/internal/controller/cluster/functions/invokefunction/zz_controller.go +++ b/internal/controller/cluster/functions/invokefunction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InvokeFunction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InvokeFunction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InvokeFunction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InvokeFunction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_functions_invoke_function"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_functions_invoke_function"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InvokeFunction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fusionapps/fusionenvironment/zz_controller.go b/internal/controller/cluster/fusionapps/fusionenvironment/zz_controller.go index 0cdd07517..0989601f1 100755 --- a/internal/controller/cluster/fusionapps/fusionenvironment/zz_controller.go +++ b/internal/controller/cluster/fusionapps/fusionenvironment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FusionEnvironment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FusionEnvironment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FusionEnvironment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fusionapps/fusionenvironmentadminuser/zz_controller.go b/internal/controller/cluster/fusionapps/fusionenvironmentadminuser/zz_controller.go index 5ed0d964f..d015828d3 100755 --- a/internal/controller/cluster/fusionapps/fusionenvironmentadminuser/zz_controller.go +++ b/internal/controller/cluster/fusionapps/fusionenvironmentadminuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FusionEnvironmentAdminUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FusionEnvironmentAdminUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentAdminUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentAdminUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_admin_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_admin_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FusionEnvironmentAdminUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fusionapps/fusionenvironmentdatamaskingactivity/zz_controller.go b/internal/controller/cluster/fusionapps/fusionenvironmentdatamaskingactivity/zz_controller.go index bc6d997b7..f8a5019d9 100755 --- a/internal/controller/cluster/fusionapps/fusionenvironmentdatamaskingactivity/zz_controller.go +++ b/internal/controller/cluster/fusionapps/fusionenvironmentdatamaskingactivity/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FusionEnvironmentDataMaskingActivity_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FusionEnvironmentDataMaskingActivity_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentDataMaskingActivity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentDataMaskingActivity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_data_masking_activity"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_data_masking_activity"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FusionEnvironmentDataMaskingActivity_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fusionapps/fusionenvironmentfamily/zz_controller.go b/internal/controller/cluster/fusionapps/fusionenvironmentfamily/zz_controller.go index 0fecf46aa..d365d7666 100755 --- a/internal/controller/cluster/fusionapps/fusionenvironmentfamily/zz_controller.go +++ b/internal/controller/cluster/fusionapps/fusionenvironmentfamily/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FusionEnvironmentFamily_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FusionEnvironmentFamily_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentFamily_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentFamily_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_family"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_family"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FusionEnvironmentFamily_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fusionapps/fusionenvironmentrefreshactivity/zz_controller.go b/internal/controller/cluster/fusionapps/fusionenvironmentrefreshactivity/zz_controller.go index 9c8640811..416651123 100755 --- a/internal/controller/cluster/fusionapps/fusionenvironmentrefreshactivity/zz_controller.go +++ b/internal/controller/cluster/fusionapps/fusionenvironmentrefreshactivity/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FusionEnvironmentRefreshActivity_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FusionEnvironmentRefreshActivity_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentRefreshActivity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentRefreshActivity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_refresh_activity"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_refresh_activity"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FusionEnvironmentRefreshActivity_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/fusionapps/fusionenvironmentserviceattachment/zz_controller.go b/internal/controller/cluster/fusionapps/fusionenvironmentserviceattachment/zz_controller.go index 08ae1c9e9..32f12f478 100755 --- a/internal/controller/cluster/fusionapps/fusionenvironmentserviceattachment/zz_controller.go +++ b/internal/controller/cluster/fusionapps/fusionenvironmentserviceattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FusionEnvironmentServiceAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FusionEnvironmentServiceAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentServiceAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentServiceAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_service_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_service_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FusionEnvironmentServiceAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/gdp/gdppipeline/zz_controller.go b/internal/controller/cluster/gdp/gdppipeline/zz_controller.go index 95d14e416..c23d96c9a 100755 --- a/internal/controller/cluster/gdp/gdppipeline/zz_controller.go +++ b/internal/controller/cluster/gdp/gdppipeline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.GdpPipeline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.GdpPipeline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GdpPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GdpPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_gdp_gdp_pipeline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_gdp_gdp_pipeline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.GdpPipeline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/generativeai/agentagent/zz_controller.go b/internal/controller/cluster/generativeai/agentagent/zz_controller.go index cd2e5b3f5..14a907e32 100755 --- a/internal/controller/cluster/generativeai/agentagent/zz_controller.go +++ b/internal/controller/cluster/generativeai/agentagent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentAgent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentAgent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentAgent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentAgent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_agent"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_agent"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentAgent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/generativeai/agentagentendpoint/zz_controller.go b/internal/controller/cluster/generativeai/agentagentendpoint/zz_controller.go index a9af730bf..1a5dfb0c1 100755 --- a/internal/controller/cluster/generativeai/agentagentendpoint/zz_controller.go +++ b/internal/controller/cluster/generativeai/agentagentendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentAgentEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentAgentEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentAgentEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentAgentEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_agent_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_agent_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentAgentEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/generativeai/agentdataingestionjob/zz_controller.go b/internal/controller/cluster/generativeai/agentdataingestionjob/zz_controller.go index 0d69ed816..036632ef6 100755 --- a/internal/controller/cluster/generativeai/agentdataingestionjob/zz_controller.go +++ b/internal/controller/cluster/generativeai/agentdataingestionjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentDataIngestionJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentDataIngestionJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentDataIngestionJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentDataIngestionJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_data_ingestion_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_data_ingestion_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentDataIngestionJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/generativeai/agentdatasource/zz_controller.go b/internal/controller/cluster/generativeai/agentdatasource/zz_controller.go index 50de69900..0f3a82862 100755 --- a/internal/controller/cluster/generativeai/agentdatasource/zz_controller.go +++ b/internal/controller/cluster/generativeai/agentdatasource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentDataSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentDataSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentDataSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentDataSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_data_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_data_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentDataSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/generativeai/agentknowledgebase/zz_controller.go b/internal/controller/cluster/generativeai/agentknowledgebase/zz_controller.go index 25643a002..66d9faa2d 100755 --- a/internal/controller/cluster/generativeai/agentknowledgebase/zz_controller.go +++ b/internal/controller/cluster/generativeai/agentknowledgebase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentKnowledgeBase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentKnowledgeBase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentKnowledgeBase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentKnowledgeBase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_knowledge_base"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_knowledge_base"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentKnowledgeBase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/generativeai/agentprovisionedcapacity/zz_controller.go b/internal/controller/cluster/generativeai/agentprovisionedcapacity/zz_controller.go index ac44c0e5a..992d01f01 100755 --- a/internal/controller/cluster/generativeai/agentprovisionedcapacity/zz_controller.go +++ b/internal/controller/cluster/generativeai/agentprovisionedcapacity/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentProvisionedCapacity_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentProvisionedCapacity_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentProvisionedCapacity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentProvisionedCapacity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_provisioned_capacity"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_provisioned_capacity"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentProvisionedCapacity_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/generativeai/agenttool/zz_controller.go b/internal/controller/cluster/generativeai/agenttool/zz_controller.go index 6f4707054..06dd093ff 100755 --- a/internal/controller/cluster/generativeai/agenttool/zz_controller.go +++ b/internal/controller/cluster/generativeai/agenttool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentTool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentTool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentTool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentTool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_tool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_tool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentTool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/generativeai/dedicatedaicluster/zz_controller.go b/internal/controller/cluster/generativeai/dedicatedaicluster/zz_controller.go index 1b94b6762..39acf51c0 100755 --- a/internal/controller/cluster/generativeai/dedicatedaicluster/zz_controller.go +++ b/internal/controller/cluster/generativeai/dedicatedaicluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DedicatedAiCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DedicatedAiCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DedicatedAiCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DedicatedAiCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_dedicated_ai_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_dedicated_ai_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DedicatedAiCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/generativeai/endpoint/zz_controller.go b/internal/controller/cluster/generativeai/endpoint/zz_controller.go index 1b6c7778e..0cc8da2a8 100755 --- a/internal/controller/cluster/generativeai/endpoint/zz_controller.go +++ b/internal/controller/cluster/generativeai/endpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Endpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Endpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Endpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Endpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Endpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/generativeai/importedmodel/zz_controller.go b/internal/controller/cluster/generativeai/importedmodel/zz_controller.go index ddff3ebf3..75f73d692 100755 --- a/internal/controller/cluster/generativeai/importedmodel/zz_controller.go +++ b/internal/controller/cluster/generativeai/importedmodel/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ImportedModel_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ImportedModel_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ImportedModel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ImportedModel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_imported_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_imported_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ImportedModel_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/generativeai/model/zz_controller.go b/internal/controller/cluster/generativeai/model/zz_controller.go index aec618f38..059d38a77 100755 --- a/internal/controller/cluster/generativeai/model/zz_controller.go +++ b/internal/controller/cluster/generativeai/model/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Model_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Model_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Model_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/generativeai/project/zz_controller.go b/internal/controller/cluster/generativeai/project/zz_controller.go index 2040f951f..c6a36cbd4 100755 --- a/internal/controller/cluster/generativeai/project/zz_controller.go +++ b/internal/controller/cluster/generativeai/project/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Project_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Project_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Project_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/generativeai/semanticstore/zz_controller.go b/internal/controller/cluster/generativeai/semanticstore/zz_controller.go index ea28fa299..dbe568f21 100755 --- a/internal/controller/cluster/generativeai/semanticstore/zz_controller.go +++ b/internal/controller/cluster/generativeai/semanticstore/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SemanticStore_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SemanticStore_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SemanticStore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SemanticStore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_semantic_store"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_semantic_store"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SemanticStore_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/genericartifactscontent/artifactbypath/zz_controller.go b/internal/controller/cluster/genericartifactscontent/artifactbypath/zz_controller.go index 15084b273..74d9ed6b2 100755 --- a/internal/controller/cluster/genericartifactscontent/artifactbypath/zz_controller.go +++ b/internal/controller/cluster/genericartifactscontent/artifactbypath/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ArtifactByPath_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ArtifactByPath_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ArtifactByPath_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ArtifactByPath_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generic_artifacts_content_artifact_by_path"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generic_artifacts_content_artifact_by_path"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ArtifactByPath_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/goldengate/connection/zz_controller.go b/internal/controller/cluster/goldengate/connection/zz_controller.go index e95e414a5..e7add158d 100755 --- a/internal/controller/cluster/goldengate/connection/zz_controller.go +++ b/internal/controller/cluster/goldengate/connection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Connection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Connection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Connection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Connection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Connection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/goldengate/connectionassignment/zz_controller.go b/internal/controller/cluster/goldengate/connectionassignment/zz_controller.go index cda1c5054..4cff65341 100755 --- a/internal/controller/cluster/goldengate/connectionassignment/zz_controller.go +++ b/internal/controller/cluster/goldengate/connectionassignment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConnectionAssignment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ConnectionAssignment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConnectionAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConnectionAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_connection_assignment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_connection_assignment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ConnectionAssignment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/goldengate/databaseregistration/zz_controller.go b/internal/controller/cluster/goldengate/databaseregistration/zz_controller.go index 15665dc92..cb84318db 100755 --- a/internal/controller/cluster/goldengate/databaseregistration/zz_controller.go +++ b/internal/controller/cluster/goldengate/databaseregistration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseRegistration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseRegistration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseRegistration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseRegistration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_database_registration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_database_registration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseRegistration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/goldengate/deployment/zz_controller.go b/internal/controller/cluster/goldengate/deployment/zz_controller.go index faa46d89f..5d6b38533 100755 --- a/internal/controller/cluster/goldengate/deployment/zz_controller.go +++ b/internal/controller/cluster/goldengate/deployment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Deployment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Deployment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Deployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Deployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_deployment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_deployment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Deployment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/goldengate/deploymentbackup/zz_controller.go b/internal/controller/cluster/goldengate/deploymentbackup/zz_controller.go index 724929e19..4f5f5fd10 100755 --- a/internal/controller/cluster/goldengate/deploymentbackup/zz_controller.go +++ b/internal/controller/cluster/goldengate/deploymentbackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DeploymentBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DeploymentBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeploymentBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeploymentBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_deployment_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_deployment_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DeploymentBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/goldengate/deploymentcertificate/zz_controller.go b/internal/controller/cluster/goldengate/deploymentcertificate/zz_controller.go index 7e9bb8dce..1027cd454 100755 --- a/internal/controller/cluster/goldengate/deploymentcertificate/zz_controller.go +++ b/internal/controller/cluster/goldengate/deploymentcertificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DeploymentCertificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DeploymentCertificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeploymentCertificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeploymentCertificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_deployment_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_deployment_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DeploymentCertificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/goldengate/pipeline/zz_controller.go b/internal/controller/cluster/goldengate/pipeline/zz_controller.go index 3e84da1a0..f50d9a2da 100755 --- a/internal/controller/cluster/goldengate/pipeline/zz_controller.go +++ b/internal/controller/cluster/goldengate/pipeline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Pipeline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Pipeline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Pipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Pipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_pipeline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_pipeline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Pipeline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/healthchecks/httpmonitor/zz_controller.go b/internal/controller/cluster/healthchecks/httpmonitor/zz_controller.go index 17f13a099..e9c47309d 100755 --- a/internal/controller/cluster/healthchecks/httpmonitor/zz_controller.go +++ b/internal/controller/cluster/healthchecks/httpmonitor/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.HTTPMonitor_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.HTTPMonitor_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HTTPMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HTTPMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_health_checks_http_monitor"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_health_checks_http_monitor"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.HTTPMonitor_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/healthchecks/httpprobe/zz_controller.go b/internal/controller/cluster/healthchecks/httpprobe/zz_controller.go index dd3a107da..4d48c2b9c 100755 --- a/internal/controller/cluster/healthchecks/httpprobe/zz_controller.go +++ b/internal/controller/cluster/healthchecks/httpprobe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.HttpProbe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.HttpProbe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HttpProbe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HttpProbe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_health_checks_http_probe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_health_checks_http_probe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.HttpProbe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/healthchecks/pingmonitor/zz_controller.go b/internal/controller/cluster/healthchecks/pingmonitor/zz_controller.go index 6c0c16c26..f58a43941 100755 --- a/internal/controller/cluster/healthchecks/pingmonitor/zz_controller.go +++ b/internal/controller/cluster/healthchecks/pingmonitor/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PingMonitor_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PingMonitor_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PingMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PingMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_health_checks_ping_monitor"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_health_checks_ping_monitor"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PingMonitor_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/healthchecks/pingprobe/zz_controller.go b/internal/controller/cluster/healthchecks/pingprobe/zz_controller.go index 0c32bc252..69bf195d1 100755 --- a/internal/controller/cluster/healthchecks/pingprobe/zz_controller.go +++ b/internal/controller/cluster/healthchecks/pingprobe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PingProbe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PingProbe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PingProbe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PingProbe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_health_checks_ping_probe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_health_checks_ping_probe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PingProbe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/apikey/zz_controller.go b/internal/controller/cluster/identity/apikey/zz_controller.go index d6df1ee20..820ab80a5 100755 --- a/internal/controller/cluster/identity/apikey/zz_controller.go +++ b/internal/controller/cluster/identity/apikey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApiKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApiKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_api_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_api_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApiKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/authenticationpolicy/zz_controller.go b/internal/controller/cluster/identity/authenticationpolicy/zz_controller.go index c540dc1d6..ed619f7a2 100755 --- a/internal/controller/cluster/identity/authenticationpolicy/zz_controller.go +++ b/internal/controller/cluster/identity/authenticationpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuthenticationPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuthenticationPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthenticationPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthenticationPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_authentication_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_authentication_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuthenticationPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/authtoken/zz_controller.go b/internal/controller/cluster/identity/authtoken/zz_controller.go index e53294999..06681b92b 100755 --- a/internal/controller/cluster/identity/authtoken/zz_controller.go +++ b/internal/controller/cluster/identity/authtoken/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuthToken_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuthToken_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_auth_token"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_auth_token"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuthToken_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/compartment/zz_controller.go b/internal/controller/cluster/identity/compartment/zz_controller.go index 3f44ebf8d..a8bfbfde2 100755 --- a/internal/controller/cluster/identity/compartment/zz_controller.go +++ b/internal/controller/cluster/identity/compartment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Compartment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Compartment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Compartment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Compartment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_compartment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_compartment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Compartment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/customersecretkey/zz_controller.go b/internal/controller/cluster/identity/customersecretkey/zz_controller.go index 70dfb24f0..5eafaf521 100755 --- a/internal/controller/cluster/identity/customersecretkey/zz_controller.go +++ b/internal/controller/cluster/identity/customersecretkey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CustomerSecretKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CustomerSecretKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomerSecretKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomerSecretKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_customer_secret_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_customer_secret_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CustomerSecretKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/dbcredential/zz_controller.go b/internal/controller/cluster/identity/dbcredential/zz_controller.go index 4365eb790..80933f2ca 100755 --- a/internal/controller/cluster/identity/dbcredential/zz_controller.go +++ b/internal/controller/cluster/identity/dbcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_db_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_db_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/domain/zz_controller.go b/internal/controller/cluster/identity/domain/zz_controller.go index fc5b48ce3..d3275a7fb 100755 --- a/internal/controller/cluster/identity/domain/zz_controller.go +++ b/internal/controller/cluster/identity/domain/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Domain_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Domain_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Domain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Domain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domain"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domain"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Domain_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/domainreplicationtoregion/zz_controller.go b/internal/controller/cluster/identity/domainreplicationtoregion/zz_controller.go index b4fd6da79..4d55ace25 100755 --- a/internal/controller/cluster/identity/domainreplicationtoregion/zz_controller.go +++ b/internal/controller/cluster/identity/domainreplicationtoregion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DomainReplicationToRegion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DomainReplicationToRegion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DomainReplicationToRegion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DomainReplicationToRegion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domain_replication_to_region"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domain_replication_to_region"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DomainReplicationToRegion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/dynamicgroup/zz_controller.go b/internal/controller/cluster/identity/dynamicgroup/zz_controller.go index 2b1ec6f93..9d3270f5b 100755 --- a/internal/controller/cluster/identity/dynamicgroup/zz_controller.go +++ b/internal/controller/cluster/identity/dynamicgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_dynamic_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_dynamic_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/group/zz_controller.go b/internal/controller/cluster/identity/group/zz_controller.go index f9b4cd1ad..e5806d264 100755 --- a/internal/controller/cluster/identity/group/zz_controller.go +++ b/internal/controller/cluster/identity/group/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Group_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Group_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Group_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Group_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Group_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/identityprovider/zz_controller.go b/internal/controller/cluster/identity/identityprovider/zz_controller.go index 1a949f0d3..e02e072c3 100755 --- a/internal/controller/cluster/identity/identityprovider/zz_controller.go +++ b/internal/controller/cluster/identity/identityprovider/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdentityProvider_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdentityProvider_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_identity_provider"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_identity_provider"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdentityProvider_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/idpgroupmapping/zz_controller.go b/internal/controller/cluster/identity/idpgroupmapping/zz_controller.go index 427565a3e..05cffc1c5 100755 --- a/internal/controller/cluster/identity/idpgroupmapping/zz_controller.go +++ b/internal/controller/cluster/identity/idpgroupmapping/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdpGroupMapping_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdpGroupMapping_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdpGroupMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdpGroupMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_idp_group_mapping"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_idp_group_mapping"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdpGroupMapping_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/importstandardtagsmanagement/zz_controller.go b/internal/controller/cluster/identity/importstandardtagsmanagement/zz_controller.go index 46e1a3dde..70d32e62a 100755 --- a/internal/controller/cluster/identity/importstandardtagsmanagement/zz_controller.go +++ b/internal/controller/cluster/identity/importstandardtagsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ImportStandardTagsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ImportStandardTagsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ImportStandardTagsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ImportStandardTagsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_import_standard_tags_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_import_standard_tags_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ImportStandardTagsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/networksource/zz_controller.go b/internal/controller/cluster/identity/networksource/zz_controller.go index 8f111c43b..c95dd2805 100755 --- a/internal/controller/cluster/identity/networksource/zz_controller.go +++ b/internal/controller/cluster/identity/networksource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_network_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_network_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/policy/zz_controller.go b/internal/controller/cluster/identity/policy/zz_controller.go index e602744f4..f37250715 100755 --- a/internal/controller/cluster/identity/policy/zz_controller.go +++ b/internal/controller/cluster/identity/policy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Policy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Policy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Policy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Policy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Policy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/smtpcredential/zz_controller.go b/internal/controller/cluster/identity/smtpcredential/zz_controller.go index 3bcc54106..10fdc1fe5 100755 --- a/internal/controller/cluster/identity/smtpcredential/zz_controller.go +++ b/internal/controller/cluster/identity/smtpcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SmtpCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SmtpCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SmtpCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SmtpCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_smtp_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_smtp_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SmtpCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/tag/zz_controller.go b/internal/controller/cluster/identity/tag/zz_controller.go index 9fe6d2626..95b340252 100755 --- a/internal/controller/cluster/identity/tag/zz_controller.go +++ b/internal/controller/cluster/identity/tag/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Tag_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Tag_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Tag_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Tag_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_tag"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_tag"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Tag_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/tagdefault/zz_controller.go b/internal/controller/cluster/identity/tagdefault/zz_controller.go index b3f391eea..bf3a16e0b 100755 --- a/internal/controller/cluster/identity/tagdefault/zz_controller.go +++ b/internal/controller/cluster/identity/tagdefault/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TagDefault_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TagDefault_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TagDefault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TagDefault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_tag_default"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_tag_default"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TagDefault_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/tagnamespace/zz_controller.go b/internal/controller/cluster/identity/tagnamespace/zz_controller.go index 7e5394166..0d0ea8170 100755 --- a/internal/controller/cluster/identity/tagnamespace/zz_controller.go +++ b/internal/controller/cluster/identity/tagnamespace/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TagNamespace_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TagNamespace_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TagNamespace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TagNamespace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_tag_namespace"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_tag_namespace"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TagNamespace_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/uipassword/zz_controller.go b/internal/controller/cluster/identity/uipassword/zz_controller.go index 574b40ab6..346d31869 100755 --- a/internal/controller/cluster/identity/uipassword/zz_controller.go +++ b/internal/controller/cluster/identity/uipassword/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UiPassword_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UiPassword_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UiPassword_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UiPassword_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_ui_password"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_ui_password"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UiPassword_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/user/zz_controller.go b/internal/controller/cluster/identity/user/zz_controller.go index cc00be74e..b6ec4bcaf 100755 --- a/internal/controller/cluster/identity/user/zz_controller.go +++ b/internal/controller/cluster/identity/user/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.User_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.User_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.User_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.User_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.User_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/usercapabilitiesmanagement/zz_controller.go b/internal/controller/cluster/identity/usercapabilitiesmanagement/zz_controller.go index f8d5c1389..4c89fdcd8 100755 --- a/internal/controller/cluster/identity/usercapabilitiesmanagement/zz_controller.go +++ b/internal/controller/cluster/identity/usercapabilitiesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UserCapabilitiesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UserCapabilitiesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserCapabilitiesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserCapabilitiesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_user_capabilities_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_user_capabilities_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UserCapabilitiesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identity/usergroupmembership/zz_controller.go b/internal/controller/cluster/identity/usergroupmembership/zz_controller.go index 10664b739..4f6dd83d2 100755 --- a/internal/controller/cluster/identity/usergroupmembership/zz_controller.go +++ b/internal/controller/cluster/identity/usergroupmembership/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UserGroupMembership_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UserGroupMembership_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserGroupMembership_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserGroupMembership_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_user_group_membership"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_user_group_membership"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UserGroupMembership_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydataplane/generatescopedaccesstoken/zz_controller.go b/internal/controller/cluster/identitydataplane/generatescopedaccesstoken/zz_controller.go index ea4eb80a3..6a5fe17d9 100755 --- a/internal/controller/cluster/identitydataplane/generatescopedaccesstoken/zz_controller.go +++ b/internal/controller/cluster/identitydataplane/generatescopedaccesstoken/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.GenerateScopedAccessToken_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.GenerateScopedAccessToken_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GenerateScopedAccessToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GenerateScopedAccessToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_data_plane_generate_scoped_access_token"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_data_plane_generate_scoped_access_token"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.GenerateScopedAccessToken_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/accountrecoverysetting/zz_controller.go b/internal/controller/cluster/identitydomains/accountrecoverysetting/zz_controller.go index 6afe70dfa..dc3a219e8 100755 --- a/internal/controller/cluster/identitydomains/accountrecoverysetting/zz_controller.go +++ b/internal/controller/cluster/identitydomains/accountrecoverysetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AccountRecoverySetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AccountRecoverySetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AccountRecoverySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AccountRecoverySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_account_recovery_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_account_recovery_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AccountRecoverySetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/apikey/zz_controller.go b/internal/controller/cluster/identitydomains/apikey/zz_controller.go index 8b9d82364..6e55c8c19 100755 --- a/internal/controller/cluster/identitydomains/apikey/zz_controller.go +++ b/internal/controller/cluster/identitydomains/apikey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApiKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApiKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_api_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_api_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApiKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/app/zz_controller.go b/internal/controller/cluster/identitydomains/app/zz_controller.go index 34ab6df2e..4abb5de08 100755 --- a/internal/controller/cluster/identitydomains/app/zz_controller.go +++ b/internal/controller/cluster/identitydomains/app/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.App_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.App_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.App_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.App_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_app"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_app"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.App_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/approle/zz_controller.go b/internal/controller/cluster/identitydomains/approle/zz_controller.go index bcd9dd32a..6a282a388 100755 --- a/internal/controller/cluster/identitydomains/approle/zz_controller.go +++ b/internal/controller/cluster/identitydomains/approle/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AppRole_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AppRole_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AppRole_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AppRole_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_app_role"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_app_role"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AppRole_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/approvalworkflow/zz_controller.go b/internal/controller/cluster/identitydomains/approvalworkflow/zz_controller.go index 2560e3f8c..a4ebec61c 100755 --- a/internal/controller/cluster/identitydomains/approvalworkflow/zz_controller.go +++ b/internal/controller/cluster/identitydomains/approvalworkflow/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApprovalWorkflow_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApprovalWorkflow_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApprovalWorkflow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApprovalWorkflow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_approval_workflow"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_approval_workflow"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApprovalWorkflow_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/approvalworkflowassignment/zz_controller.go b/internal/controller/cluster/identitydomains/approvalworkflowassignment/zz_controller.go index 84017b7f7..a53fd8afa 100755 --- a/internal/controller/cluster/identitydomains/approvalworkflowassignment/zz_controller.go +++ b/internal/controller/cluster/identitydomains/approvalworkflowassignment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApprovalWorkflowAssignment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApprovalWorkflowAssignment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApprovalWorkflowAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApprovalWorkflowAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_approval_workflow_assignment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_approval_workflow_assignment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApprovalWorkflowAssignment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/approvalworkflowstep/zz_controller.go b/internal/controller/cluster/identitydomains/approvalworkflowstep/zz_controller.go index 10f884690..1634737ed 100755 --- a/internal/controller/cluster/identitydomains/approvalworkflowstep/zz_controller.go +++ b/internal/controller/cluster/identitydomains/approvalworkflowstep/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApprovalWorkflowStep_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApprovalWorkflowStep_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApprovalWorkflowStep_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApprovalWorkflowStep_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_approval_workflow_step"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_approval_workflow_step"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApprovalWorkflowStep_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/authenticationfactorsetting/zz_controller.go b/internal/controller/cluster/identitydomains/authenticationfactorsetting/zz_controller.go index 5818d9f76..f60b4c22e 100755 --- a/internal/controller/cluster/identitydomains/authenticationfactorsetting/zz_controller.go +++ b/internal/controller/cluster/identitydomains/authenticationfactorsetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuthenticationFactorSetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuthenticationFactorSetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthenticationFactorSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthenticationFactorSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_authentication_factor_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_authentication_factor_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuthenticationFactorSetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/authtoken/zz_controller.go b/internal/controller/cluster/identitydomains/authtoken/zz_controller.go index 6deebdb4b..167df9310 100755 --- a/internal/controller/cluster/identitydomains/authtoken/zz_controller.go +++ b/internal/controller/cluster/identitydomains/authtoken/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuthToken_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuthToken_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_auth_token"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_auth_token"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuthToken_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/cloudgate/zz_controller.go b/internal/controller/cluster/identitydomains/cloudgate/zz_controller.go index 6ef6876a8..d52e19e8d 100755 --- a/internal/controller/cluster/identitydomains/cloudgate/zz_controller.go +++ b/internal/controller/cluster/identitydomains/cloudgate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudGate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudGate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_cloud_gate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_cloud_gate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudGate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/cloudgatemapping/zz_controller.go b/internal/controller/cluster/identitydomains/cloudgatemapping/zz_controller.go index 78bbf6c2a..046159086 100755 --- a/internal/controller/cluster/identitydomains/cloudgatemapping/zz_controller.go +++ b/internal/controller/cluster/identitydomains/cloudgatemapping/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudGateMapping_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudGateMapping_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGateMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGateMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_cloud_gate_mapping"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_cloud_gate_mapping"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudGateMapping_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/cloudgateserver/zz_controller.go b/internal/controller/cluster/identitydomains/cloudgateserver/zz_controller.go index bc4422bc8..e076d889e 100755 --- a/internal/controller/cluster/identitydomains/cloudgateserver/zz_controller.go +++ b/internal/controller/cluster/identitydomains/cloudgateserver/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudGateServer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudGateServer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGateServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGateServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_cloud_gate_server"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_cloud_gate_server"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudGateServer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/condition/zz_controller.go b/internal/controller/cluster/identitydomains/condition/zz_controller.go index 4a2344348..20f26c5ab 100755 --- a/internal/controller/cluster/identitydomains/condition/zz_controller.go +++ b/internal/controller/cluster/identitydomains/condition/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Condition_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Condition_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Condition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Condition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_condition"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_condition"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Condition_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/customersecretkey/zz_controller.go b/internal/controller/cluster/identitydomains/customersecretkey/zz_controller.go index 3211dc593..db1fb048e 100755 --- a/internal/controller/cluster/identitydomains/customersecretkey/zz_controller.go +++ b/internal/controller/cluster/identitydomains/customersecretkey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CustomerSecretKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CustomerSecretKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomerSecretKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomerSecretKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_customer_secret_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_customer_secret_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CustomerSecretKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/dynamicresourcegroup/zz_controller.go b/internal/controller/cluster/identitydomains/dynamicresourcegroup/zz_controller.go index a5e476922..f50cc09fa 100755 --- a/internal/controller/cluster/identitydomains/dynamicresourcegroup/zz_controller.go +++ b/internal/controller/cluster/identitydomains/dynamicresourcegroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicResourceGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicResourceGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicResourceGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicResourceGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_dynamic_resource_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_dynamic_resource_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicResourceGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/grant/zz_controller.go b/internal/controller/cluster/identitydomains/grant/zz_controller.go index 3e3638314..12cea7c6e 100755 --- a/internal/controller/cluster/identitydomains/grant/zz_controller.go +++ b/internal/controller/cluster/identitydomains/grant/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Grant_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Grant_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Grant_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Grant_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_grant"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_grant"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Grant_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/group/zz_controller.go b/internal/controller/cluster/identitydomains/group/zz_controller.go index 5d78c3ded..fe052d822 100755 --- a/internal/controller/cluster/identitydomains/group/zz_controller.go +++ b/internal/controller/cluster/identitydomains/group/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Group_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Group_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Group_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Group_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Group_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/identityproofingprovider/zz_controller.go b/internal/controller/cluster/identitydomains/identityproofingprovider/zz_controller.go index 986eed18d..f1b891893 100755 --- a/internal/controller/cluster/identitydomains/identityproofingprovider/zz_controller.go +++ b/internal/controller/cluster/identitydomains/identityproofingprovider/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdentityProofingProvider_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdentityProofingProvider_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProofingProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProofingProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_proofing_provider"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_proofing_provider"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdentityProofingProvider_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/identityproofingprovidertemplate/zz_controller.go b/internal/controller/cluster/identitydomains/identityproofingprovidertemplate/zz_controller.go index a7632d9e3..44952d486 100755 --- a/internal/controller/cluster/identitydomains/identityproofingprovidertemplate/zz_controller.go +++ b/internal/controller/cluster/identitydomains/identityproofingprovidertemplate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdentityProofingProviderTemplate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdentityProofingProviderTemplate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProofingProviderTemplate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProofingProviderTemplate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_proofing_provider_template"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_proofing_provider_template"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdentityProofingProviderTemplate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/identitypropagationtrust/zz_controller.go b/internal/controller/cluster/identitydomains/identitypropagationtrust/zz_controller.go index 00c890550..5f9f3e067 100755 --- a/internal/controller/cluster/identitydomains/identitypropagationtrust/zz_controller.go +++ b/internal/controller/cluster/identitydomains/identitypropagationtrust/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdentityPropagationTrust_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdentityPropagationTrust_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityPropagationTrust_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityPropagationTrust_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_propagation_trust"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_propagation_trust"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdentityPropagationTrust_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/identityprovider/zz_controller.go b/internal/controller/cluster/identitydomains/identityprovider/zz_controller.go index 5877bc20b..d4420eb29 100755 --- a/internal/controller/cluster/identitydomains/identityprovider/zz_controller.go +++ b/internal/controller/cluster/identitydomains/identityprovider/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdentityProvider_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdentityProvider_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_provider"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_provider"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdentityProvider_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/identitysetting/zz_controller.go b/internal/controller/cluster/identitydomains/identitysetting/zz_controller.go index a5c91a234..75b83e48c 100755 --- a/internal/controller/cluster/identitydomains/identitysetting/zz_controller.go +++ b/internal/controller/cluster/identitydomains/identitysetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdentitySetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdentitySetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentitySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentitySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdentitySetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/kmsisetting/zz_controller.go b/internal/controller/cluster/identitydomains/kmsisetting/zz_controller.go index 614c915fb..ce416498f 100755 --- a/internal/controller/cluster/identitydomains/kmsisetting/zz_controller.go +++ b/internal/controller/cluster/identitydomains/kmsisetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KmsiSetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KmsiSetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KmsiSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KmsiSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_kmsi_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_kmsi_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KmsiSetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/mappedattribute/zz_controller.go b/internal/controller/cluster/identitydomains/mappedattribute/zz_controller.go index 4e7112f12..d2b981abf 100755 --- a/internal/controller/cluster/identitydomains/mappedattribute/zz_controller.go +++ b/internal/controller/cluster/identitydomains/mappedattribute/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MappedAttribute_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MappedAttribute_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MappedAttribute_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MappedAttribute_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_mapped_attribute"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_mapped_attribute"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MappedAttribute_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/myapikey/zz_controller.go b/internal/controller/cluster/identitydomains/myapikey/zz_controller.go index d2c811ee8..ca185ba0e 100755 --- a/internal/controller/cluster/identitydomains/myapikey/zz_controller.go +++ b/internal/controller/cluster/identitydomains/myapikey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MyApiKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MyApiKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_api_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_api_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MyApiKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/myauthtoken/zz_controller.go b/internal/controller/cluster/identitydomains/myauthtoken/zz_controller.go index feaf1c494..57f209ebb 100755 --- a/internal/controller/cluster/identitydomains/myauthtoken/zz_controller.go +++ b/internal/controller/cluster/identitydomains/myauthtoken/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MyAuthToken_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MyAuthToken_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyAuthToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyAuthToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_auth_token"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_auth_token"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MyAuthToken_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/mycustomersecretkey/zz_controller.go b/internal/controller/cluster/identitydomains/mycustomersecretkey/zz_controller.go index 9e6f5a782..22b25d7ae 100755 --- a/internal/controller/cluster/identitydomains/mycustomersecretkey/zz_controller.go +++ b/internal/controller/cluster/identitydomains/mycustomersecretkey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MyCustomerSecretKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MyCustomerSecretKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyCustomerSecretKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyCustomerSecretKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_customer_secret_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_customer_secret_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MyCustomerSecretKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/myoauth2clientcredential/zz_controller.go b/internal/controller/cluster/identitydomains/myoauth2clientcredential/zz_controller.go index 5ce9d1a60..b19ddb368 100755 --- a/internal/controller/cluster/identitydomains/myoauth2clientcredential/zz_controller.go +++ b/internal/controller/cluster/identitydomains/myoauth2clientcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MyOauth2clientCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MyOauth2clientCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyOauth2clientCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyOauth2clientCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_oauth2client_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_oauth2client_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MyOauth2clientCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/myrequest/zz_controller.go b/internal/controller/cluster/identitydomains/myrequest/zz_controller.go index 638a09d2f..7318137c0 100755 --- a/internal/controller/cluster/identitydomains/myrequest/zz_controller.go +++ b/internal/controller/cluster/identitydomains/myrequest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MyRequest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MyRequest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_request"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_request"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MyRequest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/mysmtpcredential/zz_controller.go b/internal/controller/cluster/identitydomains/mysmtpcredential/zz_controller.go index b86c2249a..85511ebac 100755 --- a/internal/controller/cluster/identitydomains/mysmtpcredential/zz_controller.go +++ b/internal/controller/cluster/identitydomains/mysmtpcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MySmtpCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MySmtpCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MySmtpCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MySmtpCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_smtp_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_smtp_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MySmtpCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/mysupportaccount/zz_controller.go b/internal/controller/cluster/identitydomains/mysupportaccount/zz_controller.go index 0c6dbbcf2..f0700e44b 100755 --- a/internal/controller/cluster/identitydomains/mysupportaccount/zz_controller.go +++ b/internal/controller/cluster/identitydomains/mysupportaccount/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MySupportAccount_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MySupportAccount_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MySupportAccount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MySupportAccount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_support_account"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_support_account"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MySupportAccount_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/myuserdbcredential/zz_controller.go b/internal/controller/cluster/identitydomains/myuserdbcredential/zz_controller.go index 08f079c61..b706e47aa 100755 --- a/internal/controller/cluster/identitydomains/myuserdbcredential/zz_controller.go +++ b/internal/controller/cluster/identitydomains/myuserdbcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MyUserDbCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MyUserDbCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyUserDbCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyUserDbCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_user_db_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_user_db_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MyUserDbCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/networkperimeter/zz_controller.go b/internal/controller/cluster/identitydomains/networkperimeter/zz_controller.go index d19bd5320..645c2b32e 100755 --- a/internal/controller/cluster/identitydomains/networkperimeter/zz_controller.go +++ b/internal/controller/cluster/identitydomains/networkperimeter/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkPerimeter_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkPerimeter_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkPerimeter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkPerimeter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_network_perimeter"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_network_perimeter"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkPerimeter_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/notificationsetting/zz_controller.go b/internal/controller/cluster/identitydomains/notificationsetting/zz_controller.go index 9a997f2b7..ebfd003ed 100755 --- a/internal/controller/cluster/identitydomains/notificationsetting/zz_controller.go +++ b/internal/controller/cluster/identitydomains/notificationsetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NotificationSetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NotificationSetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NotificationSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NotificationSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_notification_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_notification_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NotificationSetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/oauth2clientcredential/zz_controller.go b/internal/controller/cluster/identitydomains/oauth2clientcredential/zz_controller.go index 75c30eb3c..66566e88a 100755 --- a/internal/controller/cluster/identitydomains/oauth2clientcredential/zz_controller.go +++ b/internal/controller/cluster/identitydomains/oauth2clientcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Oauth2clientCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Oauth2clientCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Oauth2clientCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Oauth2clientCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_oauth2client_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_oauth2client_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Oauth2clientCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/oauthclientcertificate/zz_controller.go b/internal/controller/cluster/identitydomains/oauthclientcertificate/zz_controller.go index 14cf53263..03c3e8170 100755 --- a/internal/controller/cluster/identitydomains/oauthclientcertificate/zz_controller.go +++ b/internal/controller/cluster/identitydomains/oauthclientcertificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OauthClientCertificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OauthClientCertificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OauthClientCertificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OauthClientCertificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_oauth_client_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_oauth_client_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OauthClientCertificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/oauthpartnercertificate/zz_controller.go b/internal/controller/cluster/identitydomains/oauthpartnercertificate/zz_controller.go index deabd40d3..3f36c5f03 100755 --- a/internal/controller/cluster/identitydomains/oauthpartnercertificate/zz_controller.go +++ b/internal/controller/cluster/identitydomains/oauthpartnercertificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OauthPartnerCertificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OauthPartnerCertificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OauthPartnerCertificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OauthPartnerCertificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_oauth_partner_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_oauth_partner_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OauthPartnerCertificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/passwordpolicy/zz_controller.go b/internal/controller/cluster/identitydomains/passwordpolicy/zz_controller.go index c8a15aa71..4fbd4a550 100755 --- a/internal/controller/cluster/identitydomains/passwordpolicy/zz_controller.go +++ b/internal/controller/cluster/identitydomains/passwordpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PasswordPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PasswordPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PasswordPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PasswordPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_password_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_password_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PasswordPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/policy/zz_controller.go b/internal/controller/cluster/identitydomains/policy/zz_controller.go index fd25c1b4d..fc2613edb 100755 --- a/internal/controller/cluster/identitydomains/policy/zz_controller.go +++ b/internal/controller/cluster/identitydomains/policy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Policy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Policy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Policy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Policy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Policy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/rule/zz_controller.go b/internal/controller/cluster/identitydomains/rule/zz_controller.go index 981d985a8..c3cd7d8df 100755 --- a/internal/controller/cluster/identitydomains/rule/zz_controller.go +++ b/internal/controller/cluster/identitydomains/rule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Rule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Rule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Rule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Rule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Rule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/securityquestion/zz_controller.go b/internal/controller/cluster/identitydomains/securityquestion/zz_controller.go index 20df56283..192a512df 100755 --- a/internal/controller/cluster/identitydomains/securityquestion/zz_controller.go +++ b/internal/controller/cluster/identitydomains/securityquestion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityQuestion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityQuestion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityQuestion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityQuestion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_security_question"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_security_question"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityQuestion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/securityquestionsetting/zz_controller.go b/internal/controller/cluster/identitydomains/securityquestionsetting/zz_controller.go index ced401ed9..681074544 100755 --- a/internal/controller/cluster/identitydomains/securityquestionsetting/zz_controller.go +++ b/internal/controller/cluster/identitydomains/securityquestionsetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityQuestionSetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityQuestionSetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityQuestionSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityQuestionSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_security_question_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_security_question_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityQuestionSetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/selfregistrationprofile/zz_controller.go b/internal/controller/cluster/identitydomains/selfregistrationprofile/zz_controller.go index 3fac15b7e..2cb5b4e74 100755 --- a/internal/controller/cluster/identitydomains/selfregistrationprofile/zz_controller.go +++ b/internal/controller/cluster/identitydomains/selfregistrationprofile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SelfRegistrationProfile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SelfRegistrationProfile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SelfRegistrationProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SelfRegistrationProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_self_registration_profile"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_self_registration_profile"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SelfRegistrationProfile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/setting/zz_controller.go b/internal/controller/cluster/identitydomains/setting/zz_controller.go index 459a53d30..5181c721e 100755 --- a/internal/controller/cluster/identitydomains/setting/zz_controller.go +++ b/internal/controller/cluster/identitydomains/setting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Setting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Setting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Setting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Setting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Setting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/smtpcredential/zz_controller.go b/internal/controller/cluster/identitydomains/smtpcredential/zz_controller.go index 0f4836409..9421472f4 100755 --- a/internal/controller/cluster/identitydomains/smtpcredential/zz_controller.go +++ b/internal/controller/cluster/identitydomains/smtpcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SmtpCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SmtpCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SmtpCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SmtpCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_smtp_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_smtp_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SmtpCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/socialidentityprovider/zz_controller.go b/internal/controller/cluster/identitydomains/socialidentityprovider/zz_controller.go index db73b80cb..935f2403c 100755 --- a/internal/controller/cluster/identitydomains/socialidentityprovider/zz_controller.go +++ b/internal/controller/cluster/identitydomains/socialidentityprovider/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SocialIdentityProvider_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SocialIdentityProvider_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SocialIdentityProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SocialIdentityProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_social_identity_provider"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_social_identity_provider"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SocialIdentityProvider_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/user/zz_controller.go b/internal/controller/cluster/identitydomains/user/zz_controller.go index 4b86a02bd..7816d0ea3 100755 --- a/internal/controller/cluster/identitydomains/user/zz_controller.go +++ b/internal/controller/cluster/identitydomains/user/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.User_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.User_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.User_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.User_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.User_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/identitydomains/userdbcredential/zz_controller.go b/internal/controller/cluster/identitydomains/userdbcredential/zz_controller.go index 5801f3bc6..a382730b5 100755 --- a/internal/controller/cluster/identitydomains/userdbcredential/zz_controller.go +++ b/internal/controller/cluster/identitydomains/userdbcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UserDbCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UserDbCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserDbCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserDbCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_user_db_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_user_db_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UserDbCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/integration/integrationinstance/zz_controller.go b/internal/controller/cluster/integration/integrationinstance/zz_controller.go index 4bb7c74f2..d5dfda867 100755 --- a/internal/controller/cluster/integration/integrationinstance/zz_controller.go +++ b/internal/controller/cluster/integration/integrationinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IntegrationInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IntegrationInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IntegrationInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IntegrationInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_integration_integration_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_integration_integration_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IntegrationInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/integration/oraclemanagedcustomendpoint/zz_controller.go b/internal/controller/cluster/integration/oraclemanagedcustomendpoint/zz_controller.go index a2374761b..f56f67845 100755 --- a/internal/controller/cluster/integration/oraclemanagedcustomendpoint/zz_controller.go +++ b/internal/controller/cluster/integration/oraclemanagedcustomendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleManagedCustomEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleManagedCustomEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleManagedCustomEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleManagedCustomEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_integration_oracle_managed_custom_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_integration_oracle_managed_custom_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleManagedCustomEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/integration/privateendpointoutboundconnection/zz_controller.go b/internal/controller/cluster/integration/privateendpointoutboundconnection/zz_controller.go index 65e9e7b58..39b480ad8 100755 --- a/internal/controller/cluster/integration/privateendpointoutboundconnection/zz_controller.go +++ b/internal/controller/cluster/integration/privateendpointoutboundconnection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateEndpointOutboundConnection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateEndpointOutboundConnection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpointOutboundConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpointOutboundConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_integration_private_endpoint_outbound_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_integration_private_endpoint_outbound_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateEndpointOutboundConnection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/iot/digitaltwinadapter/zz_controller.go b/internal/controller/cluster/iot/digitaltwinadapter/zz_controller.go index 84cb9b325..4f97cdcfe 100755 --- a/internal/controller/cluster/iot/digitaltwinadapter/zz_controller.go +++ b/internal/controller/cluster/iot/digitaltwinadapter/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DigitalTwinAdapter_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DigitalTwinAdapter_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinAdapter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinAdapter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_adapter"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_adapter"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DigitalTwinAdapter_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/iot/digitaltwininstance/zz_controller.go b/internal/controller/cluster/iot/digitaltwininstance/zz_controller.go index 1ddf3532c..c6bc87468 100755 --- a/internal/controller/cluster/iot/digitaltwininstance/zz_controller.go +++ b/internal/controller/cluster/iot/digitaltwininstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DigitalTwinInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DigitalTwinInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DigitalTwinInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/iot/digitaltwininstanceinvokerawcommand/zz_controller.go b/internal/controller/cluster/iot/digitaltwininstanceinvokerawcommand/zz_controller.go index 3e3f45198..92f6c084a 100755 --- a/internal/controller/cluster/iot/digitaltwininstanceinvokerawcommand/zz_controller.go +++ b/internal/controller/cluster/iot/digitaltwininstanceinvokerawcommand/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DigitalTwinInstanceInvokeRawCommand_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DigitalTwinInstanceInvokeRawCommand_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinInstanceInvokeRawCommand_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinInstanceInvokeRawCommand_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_instance_invoke_raw_command"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_instance_invoke_raw_command"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DigitalTwinInstanceInvokeRawCommand_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/iot/digitaltwinmodel/zz_controller.go b/internal/controller/cluster/iot/digitaltwinmodel/zz_controller.go index 73d3cd3da..33141c69f 100755 --- a/internal/controller/cluster/iot/digitaltwinmodel/zz_controller.go +++ b/internal/controller/cluster/iot/digitaltwinmodel/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DigitalTwinModel_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DigitalTwinModel_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinModel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinModel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DigitalTwinModel_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/iot/digitaltwinrelationship/zz_controller.go b/internal/controller/cluster/iot/digitaltwinrelationship/zz_controller.go index a4d957e79..fe8231fb9 100755 --- a/internal/controller/cluster/iot/digitaltwinrelationship/zz_controller.go +++ b/internal/controller/cluster/iot/digitaltwinrelationship/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DigitalTwinRelationship_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DigitalTwinRelationship_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinRelationship_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinRelationship_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_relationship"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_relationship"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DigitalTwinRelationship_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/iot/iotdomain/zz_controller.go b/internal/controller/cluster/iot/iotdomain/zz_controller.go index cae604914..45c7f5b38 100755 --- a/internal/controller/cluster/iot/iotdomain/zz_controller.go +++ b/internal/controller/cluster/iot/iotdomain/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IotDomain_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IotDomain_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IotDomain_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/iot/iotdomainchangedataretentionperiod/zz_controller.go b/internal/controller/cluster/iot/iotdomainchangedataretentionperiod/zz_controller.go index b71d23bbc..45a5fb704 100755 --- a/internal/controller/cluster/iot/iotdomainchangedataretentionperiod/zz_controller.go +++ b/internal/controller/cluster/iot/iotdomainchangedataretentionperiod/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IotDomainChangeDataRetentionPeriod_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IotDomainChangeDataRetentionPeriod_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainChangeDataRetentionPeriod_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainChangeDataRetentionPeriod_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_change_data_retention_period"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_change_data_retention_period"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IotDomainChangeDataRetentionPeriod_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/iot/iotdomainconfiguredataaccess/zz_controller.go b/internal/controller/cluster/iot/iotdomainconfiguredataaccess/zz_controller.go index 8052744d9..68c072266 100755 --- a/internal/controller/cluster/iot/iotdomainconfiguredataaccess/zz_controller.go +++ b/internal/controller/cluster/iot/iotdomainconfiguredataaccess/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IotDomainConfigureDataAccess_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IotDomainConfigureDataAccess_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainConfigureDataAccess_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainConfigureDataAccess_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_configure_data_access"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_configure_data_access"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IotDomainConfigureDataAccess_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/iot/iotdomaingroup/zz_controller.go b/internal/controller/cluster/iot/iotdomaingroup/zz_controller.go index db2bad458..883e5e438 100755 --- a/internal/controller/cluster/iot/iotdomaingroup/zz_controller.go +++ b/internal/controller/cluster/iot/iotdomaingroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IotDomainGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IotDomainGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IotDomainGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/iot/iotdomaingroupconfiguredataaccess/zz_controller.go b/internal/controller/cluster/iot/iotdomaingroupconfiguredataaccess/zz_controller.go index 77d27b4a2..7c40c16eb 100755 --- a/internal/controller/cluster/iot/iotdomaingroupconfiguredataaccess/zz_controller.go +++ b/internal/controller/cluster/iot/iotdomaingroupconfiguredataaccess/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IotDomainGroupConfigureDataAccess_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IotDomainGroupConfigureDataAccess_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainGroupConfigureDataAccess_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainGroupConfigureDataAccess_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_group_configure_data_access"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_group_configure_data_access"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IotDomainGroupConfigureDataAccess_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/jms/fleet/zz_controller.go b/internal/controller/cluster/jms/fleet/zz_controller.go index 3518c2adf..21c37ae42 100755 --- a/internal/controller/cluster/jms/fleet/zz_controller.go +++ b/internal/controller/cluster/jms/fleet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Fleet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Fleet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Fleet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Fleet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_fleet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_fleet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Fleet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/jms/fleetadvancedfeatureconfiguration/zz_controller.go b/internal/controller/cluster/jms/fleetadvancedfeatureconfiguration/zz_controller.go index 6ae23a87f..09f0be5b3 100755 --- a/internal/controller/cluster/jms/fleetadvancedfeatureconfiguration/zz_controller.go +++ b/internal/controller/cluster/jms/fleetadvancedfeatureconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FleetAdvancedFeatureConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FleetAdvancedFeatureConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetAdvancedFeatureConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetAdvancedFeatureConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_fleet_advanced_feature_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_fleet_advanced_feature_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FleetAdvancedFeatureConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/jms/fleetagentconfiguration/zz_controller.go b/internal/controller/cluster/jms/fleetagentconfiguration/zz_controller.go index 2f9b30afe..0e59c9339 100755 --- a/internal/controller/cluster/jms/fleetagentconfiguration/zz_controller.go +++ b/internal/controller/cluster/jms/fleetagentconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FleetAgentConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FleetAgentConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetAgentConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetAgentConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_fleet_agent_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_fleet_agent_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FleetAgentConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/jms/jmsplugin/zz_controller.go b/internal/controller/cluster/jms/jmsplugin/zz_controller.go index 024ea8974..e13f2dd90 100755 --- a/internal/controller/cluster/jms/jmsplugin/zz_controller.go +++ b/internal/controller/cluster/jms/jmsplugin/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.JmsPlugin_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.JmsPlugin_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JmsPlugin_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JmsPlugin_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_jms_plugin"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_jms_plugin"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.JmsPlugin_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/jms/taskschedule/zz_controller.go b/internal/controller/cluster/jms/taskschedule/zz_controller.go index 19a55e924..26f32dbc0 100755 --- a/internal/controller/cluster/jms/taskschedule/zz_controller.go +++ b/internal/controller/cluster/jms/taskschedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TaskSchedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TaskSchedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TaskSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TaskSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_task_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_task_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TaskSchedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/jmsjavadownloads/javadownloadreport/zz_controller.go b/internal/controller/cluster/jmsjavadownloads/javadownloadreport/zz_controller.go index cfc2b761f..fd3f700fc 100755 --- a/internal/controller/cluster/jmsjavadownloads/javadownloadreport/zz_controller.go +++ b/internal/controller/cluster/jmsjavadownloads/javadownloadreport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.JavaDownloadReport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.JavaDownloadReport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JavaDownloadReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JavaDownloadReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_java_downloads_java_download_report"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_java_downloads_java_download_report"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.JavaDownloadReport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/jmsjavadownloads/javadownloadtoken/zz_controller.go b/internal/controller/cluster/jmsjavadownloads/javadownloadtoken/zz_controller.go index 055d412a7..299c8a6e2 100755 --- a/internal/controller/cluster/jmsjavadownloads/javadownloadtoken/zz_controller.go +++ b/internal/controller/cluster/jmsjavadownloads/javadownloadtoken/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.JavaDownloadToken_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.JavaDownloadToken_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JavaDownloadToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JavaDownloadToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_java_downloads_java_download_token"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_java_downloads_java_download_token"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.JavaDownloadToken_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/jmsjavadownloads/javalicenseacceptancerecord/zz_controller.go b/internal/controller/cluster/jmsjavadownloads/javalicenseacceptancerecord/zz_controller.go index fc8b37fdc..708238501 100755 --- a/internal/controller/cluster/jmsjavadownloads/javalicenseacceptancerecord/zz_controller.go +++ b/internal/controller/cluster/jmsjavadownloads/javalicenseacceptancerecord/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.JavaLicenseAcceptanceRecord_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.JavaLicenseAcceptanceRecord_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JavaLicenseAcceptanceRecord_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JavaLicenseAcceptanceRecord_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_java_downloads_java_license_acceptance_record"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_java_downloads_java_license_acceptance_record"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.JavaLicenseAcceptanceRecord_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/jmsutils/analyzeapplicationsconfiguration/zz_controller.go b/internal/controller/cluster/jmsutils/analyzeapplicationsconfiguration/zz_controller.go index cc8da2638..8d5031ee8 100755 --- a/internal/controller/cluster/jmsutils/analyzeapplicationsconfiguration/zz_controller.go +++ b/internal/controller/cluster/jmsutils/analyzeapplicationsconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnalyzeApplicationsConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnalyzeApplicationsConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyzeApplicationsConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyzeApplicationsConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_utils_analyze_applications_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_utils_analyze_applications_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnalyzeApplicationsConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/jmsutils/subscriptionacknowledgmentconfiguration/zz_controller.go b/internal/controller/cluster/jmsutils/subscriptionacknowledgmentconfiguration/zz_controller.go index c4519951f..22c5cb469 100755 --- a/internal/controller/cluster/jmsutils/subscriptionacknowledgmentconfiguration/zz_controller.go +++ b/internal/controller/cluster/jmsutils/subscriptionacknowledgmentconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SubscriptionAcknowledgmentConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SubscriptionAcknowledgmentConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SubscriptionAcknowledgmentConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SubscriptionAcknowledgmentConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_utils_subscription_acknowledgment_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_utils_subscription_acknowledgment_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SubscriptionAcknowledgmentConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/kms/ekmsprivateendpoint/zz_controller.go b/internal/controller/cluster/kms/ekmsprivateendpoint/zz_controller.go index 09c9b4c6b..7ff52309c 100755 --- a/internal/controller/cluster/kms/ekmsprivateendpoint/zz_controller.go +++ b/internal/controller/cluster/kms/ekmsprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EkmsPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EkmsPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EkmsPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EkmsPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_ekms_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_ekms_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EkmsPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/kms/encrypteddata/zz_controller.go b/internal/controller/cluster/kms/encrypteddata/zz_controller.go index d326b6797..61b98f6be 100755 --- a/internal/controller/cluster/kms/encrypteddata/zz_controller.go +++ b/internal/controller/cluster/kms/encrypteddata/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EncryptedData_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EncryptedData_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EncryptedData_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EncryptedData_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_encrypted_data"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_encrypted_data"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EncryptedData_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/kms/generatedkey/zz_controller.go b/internal/controller/cluster/kms/generatedkey/zz_controller.go index 67def4114..84853fc7f 100755 --- a/internal/controller/cluster/kms/generatedkey/zz_controller.go +++ b/internal/controller/cluster/kms/generatedkey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.GeneratedKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.GeneratedKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GeneratedKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GeneratedKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_generated_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_generated_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.GeneratedKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/kms/key/zz_controller.go b/internal/controller/cluster/kms/key/zz_controller.go index b59f8635e..ac7f75af0 100755 --- a/internal/controller/cluster/kms/key/zz_controller.go +++ b/internal/controller/cluster/kms/key/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Key_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Key_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Key_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Key_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Key_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/kms/keyversion/zz_controller.go b/internal/controller/cluster/kms/keyversion/zz_controller.go index 5c2f52a52..9a4c6f96b 100755 --- a/internal/controller/cluster/kms/keyversion/zz_controller.go +++ b/internal/controller/cluster/kms/keyversion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KeyVersion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KeyVersion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KeyVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KeyVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_key_version"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_key_version"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KeyVersion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/kms/sign/zz_controller.go b/internal/controller/cluster/kms/sign/zz_controller.go index f115637a9..c14ae18dd 100755 --- a/internal/controller/cluster/kms/sign/zz_controller.go +++ b/internal/controller/cluster/kms/sign/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Sign_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Sign_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Sign_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Sign_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_sign"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_sign"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Sign_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/kms/vault/zz_controller.go b/internal/controller/cluster/kms/vault/zz_controller.go index 55abdf848..a8a12caf9 100755 --- a/internal/controller/cluster/kms/vault/zz_controller.go +++ b/internal/controller/cluster/kms/vault/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Vault_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Vault_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_vault"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_vault"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Vault_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/kms/vaultreplication/zz_controller.go b/internal/controller/cluster/kms/vaultreplication/zz_controller.go index 2fa462ef2..6d27e052a 100755 --- a/internal/controller/cluster/kms/vaultreplication/zz_controller.go +++ b/internal/controller/cluster/kms/vaultreplication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VaultReplication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VaultReplication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VaultReplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VaultReplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_vault_replication"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_vault_replication"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VaultReplication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/kms/verify/zz_controller.go b/internal/controller/cluster/kms/verify/zz_controller.go index 251238421..0f84f1e4f 100755 --- a/internal/controller/cluster/kms/verify/zz_controller.go +++ b/internal/controller/cluster/kms/verify/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Verify_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Verify_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Verify_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Verify_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_verify"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_verify"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Verify_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/licensemanager/configuration/zz_controller.go b/internal/controller/cluster/licensemanager/configuration/zz_controller.go index 1307916c4..2e795ba31 100755 --- a/internal/controller/cluster/licensemanager/configuration/zz_controller.go +++ b/internal/controller/cluster/licensemanager/configuration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Configuration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Configuration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_license_manager_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_license_manager_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Configuration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/licensemanager/licenserecord/zz_controller.go b/internal/controller/cluster/licensemanager/licenserecord/zz_controller.go index 361cd36c1..727cfb03a 100755 --- a/internal/controller/cluster/licensemanager/licenserecord/zz_controller.go +++ b/internal/controller/cluster/licensemanager/licenserecord/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LicenseRecord_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LicenseRecord_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LicenseRecord_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LicenseRecord_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_license_manager_license_record"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_license_manager_license_record"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LicenseRecord_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/licensemanager/productlicense/zz_controller.go b/internal/controller/cluster/licensemanager/productlicense/zz_controller.go index 83c31421a..90850e24c 100755 --- a/internal/controller/cluster/licensemanager/productlicense/zz_controller.go +++ b/internal/controller/cluster/licensemanager/productlicense/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProductLicense_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProductLicense_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProductLicense_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProductLicense_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_license_manager_product_license"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_license_manager_product_license"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProductLicense_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/limits/quota/zz_controller.go b/internal/controller/cluster/limits/quota/zz_controller.go index f19ba4149..0ddae4ce0 100755 --- a/internal/controller/cluster/limits/quota/zz_controller.go +++ b/internal/controller/cluster/limits/quota/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Quota_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Quota_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Quota_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Quota_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_limits_quota"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_limits_quota"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Quota_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loadbalancer/backend/zz_controller.go b/internal/controller/cluster/loadbalancer/backend/zz_controller.go index affaced64..21c17a87a 100755 --- a/internal/controller/cluster/loadbalancer/backend/zz_controller.go +++ b/internal/controller/cluster/loadbalancer/backend/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Backend_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Backend_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Backend_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Backend_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_backend"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_backend"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Backend_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loadbalancer/backendset/zz_controller.go b/internal/controller/cluster/loadbalancer/backendset/zz_controller.go index 04b1f98ed..599d8a429 100755 --- a/internal/controller/cluster/loadbalancer/backendset/zz_controller.go +++ b/internal/controller/cluster/loadbalancer/backendset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BackendSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BackendSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackendSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackendSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_backend_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_backend_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BackendSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loadbalancer/certificate/zz_controller.go b/internal/controller/cluster/loadbalancer/certificate/zz_controller.go index b3279513e..3b32b9bed 100755 --- a/internal/controller/cluster/loadbalancer/certificate/zz_controller.go +++ b/internal/controller/cluster/loadbalancer/certificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Certificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Certificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Certificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loadbalancer/lbhostname/zz_controller.go b/internal/controller/cluster/loadbalancer/lbhostname/zz_controller.go index d5e0d02cc..e9492da7e 100755 --- a/internal/controller/cluster/loadbalancer/lbhostname/zz_controller.go +++ b/internal/controller/cluster/loadbalancer/lbhostname/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LBHostname_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LBHostname_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LBHostname_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LBHostname_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_hostname"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_hostname"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LBHostname_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loadbalancer/listener/zz_controller.go b/internal/controller/cluster/loadbalancer/listener/zz_controller.go index 37af3c0bf..e0c2a20a5 100755 --- a/internal/controller/cluster/loadbalancer/listener/zz_controller.go +++ b/internal/controller/cluster/loadbalancer/listener/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Listener_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Listener_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Listener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Listener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_listener"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_listener"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Listener_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loadbalancer/loadbalancer/zz_controller.go b/internal/controller/cluster/loadbalancer/loadbalancer/zz_controller.go index 614e3a0e3..b48bda468 100755 --- a/internal/controller/cluster/loadbalancer/loadbalancer/zz_controller.go +++ b/internal/controller/cluster/loadbalancer/loadbalancer/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LoadBalancer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LoadBalancer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LoadBalancer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LoadBalancer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_load_balancer"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_load_balancer"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LoadBalancer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loadbalancer/pathrouteset/zz_controller.go b/internal/controller/cluster/loadbalancer/pathrouteset/zz_controller.go index 4992bac80..d9e7a3c0f 100755 --- a/internal/controller/cluster/loadbalancer/pathrouteset/zz_controller.go +++ b/internal/controller/cluster/loadbalancer/pathrouteset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PathRouteSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PathRouteSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PathRouteSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PathRouteSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_path_route_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_path_route_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PathRouteSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loadbalancer/routingpolicy/zz_controller.go b/internal/controller/cluster/loadbalancer/routingpolicy/zz_controller.go index 9df5abb2d..bc45b3b9e 100755 --- a/internal/controller/cluster/loadbalancer/routingpolicy/zz_controller.go +++ b/internal/controller/cluster/loadbalancer/routingpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RoutingPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RoutingPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RoutingPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RoutingPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_load_balancer_routing_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_load_balancer_routing_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RoutingPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loadbalancer/ruleset/zz_controller.go b/internal/controller/cluster/loadbalancer/ruleset/zz_controller.go index eb461e04e..12186bbb1 100755 --- a/internal/controller/cluster/loadbalancer/ruleset/zz_controller.go +++ b/internal/controller/cluster/loadbalancer/ruleset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RuleSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RuleSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RuleSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RuleSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_rule_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_rule_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RuleSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loadbalancer/sslciphersuite/zz_controller.go b/internal/controller/cluster/loadbalancer/sslciphersuite/zz_controller.go index 43ee97bab..1745ae078 100755 --- a/internal/controller/cluster/loadbalancer/sslciphersuite/zz_controller.go +++ b/internal/controller/cluster/loadbalancer/sslciphersuite/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SSLCipherSuite_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SSLCipherSuite_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SSLCipherSuite_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SSLCipherSuite_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_ssl_cipher_suite"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_ssl_cipher_suite"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SSLCipherSuite_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/loganalyticsentity/zz_controller.go b/internal/controller/cluster/loganalytics/loganalyticsentity/zz_controller.go index 481847cd3..cd7804fc9 100755 --- a/internal/controller/cluster/loganalytics/loganalyticsentity/zz_controller.go +++ b/internal/controller/cluster/loganalytics/loganalyticsentity/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsEntity_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsEntity_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsEntity_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/loganalyticsentityassociationsadd/zz_controller.go b/internal/controller/cluster/loganalytics/loganalyticsentityassociationsadd/zz_controller.go index 3b11686cd..163f7da08 100755 --- a/internal/controller/cluster/loganalytics/loganalyticsentityassociationsadd/zz_controller.go +++ b/internal/controller/cluster/loganalytics/loganalyticsentityassociationsadd/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsEntityAssociationsAdd_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsEntityAssociationsAdd_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntityAssociationsAdd_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntityAssociationsAdd_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity_associations_add"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity_associations_add"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsEntityAssociationsAdd_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/loganalyticsentityassociationsremove/zz_controller.go b/internal/controller/cluster/loganalytics/loganalyticsentityassociationsremove/zz_controller.go index 20baead0a..52b7d5b58 100755 --- a/internal/controller/cluster/loganalytics/loganalyticsentityassociationsremove/zz_controller.go +++ b/internal/controller/cluster/loganalytics/loganalyticsentityassociationsremove/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsEntityAssociationsRemove_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsEntityAssociationsRemove_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntityAssociationsRemove_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntityAssociationsRemove_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity_associations_remove"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity_associations_remove"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsEntityAssociationsRemove_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/loganalyticsentitytype/zz_controller.go b/internal/controller/cluster/loganalytics/loganalyticsentitytype/zz_controller.go index a15baf6ac..6cfd89c10 100755 --- a/internal/controller/cluster/loganalytics/loganalyticsentitytype/zz_controller.go +++ b/internal/controller/cluster/loganalytics/loganalyticsentitytype/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsEntityType_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsEntityType_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntityType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntityType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity_type"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity_type"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsEntityType_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/loganalyticsimportcustomcontent/zz_controller.go b/internal/controller/cluster/loganalytics/loganalyticsimportcustomcontent/zz_controller.go index 791a6bc77..839fffbba 100755 --- a/internal/controller/cluster/loganalytics/loganalyticsimportcustomcontent/zz_controller.go +++ b/internal/controller/cluster/loganalytics/loganalyticsimportcustomcontent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsImportCustomContent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsImportCustomContent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsImportCustomContent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsImportCustomContent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_import_custom_content"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_import_custom_content"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsImportCustomContent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/loganalyticsloggroup/zz_controller.go b/internal/controller/cluster/loganalytics/loganalyticsloggroup/zz_controller.go index d06a9d2fd..351c3b8ce 100755 --- a/internal/controller/cluster/loganalytics/loganalyticsloggroup/zz_controller.go +++ b/internal/controller/cluster/loganalytics/loganalyticsloggroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsLogGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsLogGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsLogGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsLogGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_log_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_log_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsLogGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/loganalyticsobjectcollectionrule/zz_controller.go b/internal/controller/cluster/loganalytics/loganalyticsobjectcollectionrule/zz_controller.go index 84c7b49fa..07727b737 100755 --- a/internal/controller/cluster/loganalytics/loganalyticsobjectcollectionrule/zz_controller.go +++ b/internal/controller/cluster/loganalytics/loganalyticsobjectcollectionrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsObjectCollectionRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsObjectCollectionRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsObjectCollectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsObjectCollectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_object_collection_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_object_collection_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsObjectCollectionRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/loganalyticspreferencesmanagement/zz_controller.go b/internal/controller/cluster/loganalytics/loganalyticspreferencesmanagement/zz_controller.go index 77c74854c..1d533f5e2 100755 --- a/internal/controller/cluster/loganalytics/loganalyticspreferencesmanagement/zz_controller.go +++ b/internal/controller/cluster/loganalytics/loganalyticspreferencesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsPreferencesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsPreferencesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsPreferencesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsPreferencesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_preferences_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_preferences_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsPreferencesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/loganalyticsresourcecategoriesmanagement/zz_controller.go b/internal/controller/cluster/loganalytics/loganalyticsresourcecategoriesmanagement/zz_controller.go index e6f907aef..d21eb82fb 100755 --- a/internal/controller/cluster/loganalytics/loganalyticsresourcecategoriesmanagement/zz_controller.go +++ b/internal/controller/cluster/loganalytics/loganalyticsresourcecategoriesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsResourceCategoriesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsResourceCategoriesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsResourceCategoriesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsResourceCategoriesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_resource_categories_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_resource_categories_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsResourceCategoriesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/loganalyticsunprocesseddatabucketmanagement/zz_controller.go b/internal/controller/cluster/loganalytics/loganalyticsunprocesseddatabucketmanagement/zz_controller.go index 654549a47..14d33d709 100755 --- a/internal/controller/cluster/loganalytics/loganalyticsunprocesseddatabucketmanagement/zz_controller.go +++ b/internal/controller/cluster/loganalytics/loganalyticsunprocesseddatabucketmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsUnprocessedDataBucketManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsUnprocessedDataBucketManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsUnprocessedDataBucketManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsUnprocessedDataBucketManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_unprocessed_data_bucket_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_unprocessed_data_bucket_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsUnprocessedDataBucketManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/namespace/zz_controller.go b/internal/controller/cluster/loganalytics/namespace/zz_controller.go index fa4244775..5bcd13e9c 100755 --- a/internal/controller/cluster/loganalytics/namespace/zz_controller.go +++ b/internal/controller/cluster/loganalytics/namespace/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Namespace_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Namespace_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Namespace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Namespace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Namespace_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/namespaceassociation/zz_controller.go b/internal/controller/cluster/loganalytics/namespaceassociation/zz_controller.go index ed39f884d..9cc2ba164 100755 --- a/internal/controller/cluster/loganalytics/namespaceassociation/zz_controller.go +++ b/internal/controller/cluster/loganalytics/namespaceassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/namespaceingesttimerule/zz_controller.go b/internal/controller/cluster/loganalytics/namespaceingesttimerule/zz_controller.go index 16fdeb47d..b1203691c 100755 --- a/internal/controller/cluster/loganalytics/namespaceingesttimerule/zz_controller.go +++ b/internal/controller/cluster/loganalytics/namespaceingesttimerule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceIngestTimeRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceIngestTimeRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceIngestTimeRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceIngestTimeRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_ingest_time_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_ingest_time_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceIngestTimeRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/namespaceingesttimerulesmanagement/zz_controller.go b/internal/controller/cluster/loganalytics/namespaceingesttimerulesmanagement/zz_controller.go index 9069f423c..1ffde01e9 100755 --- a/internal/controller/cluster/loganalytics/namespaceingesttimerulesmanagement/zz_controller.go +++ b/internal/controller/cluster/loganalytics/namespaceingesttimerulesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceIngestTimeRulesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceIngestTimeRulesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceIngestTimeRulesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceIngestTimeRulesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_ingest_time_rules_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_ingest_time_rules_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceIngestTimeRulesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/namespacelookup/zz_controller.go b/internal/controller/cluster/loganalytics/namespacelookup/zz_controller.go index e75cb8590..2e066e071 100755 --- a/internal/controller/cluster/loganalytics/namespacelookup/zz_controller.go +++ b/internal/controller/cluster/loganalytics/namespacelookup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceLookup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceLookup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceLookup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceLookup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_lookup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_lookup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceLookup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/namespacelookupsappenddatamanagement/zz_controller.go b/internal/controller/cluster/loganalytics/namespacelookupsappenddatamanagement/zz_controller.go index 7dc7090e4..a8502179e 100755 --- a/internal/controller/cluster/loganalytics/namespacelookupsappenddatamanagement/zz_controller.go +++ b/internal/controller/cluster/loganalytics/namespacelookupsappenddatamanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceLookupsAppendDataManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceLookupsAppendDataManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceLookupsAppendDataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceLookupsAppendDataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_lookups_append_data_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_lookups_append_data_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceLookupsAppendDataManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/namespacelookupsupdatedatamanagement/zz_controller.go b/internal/controller/cluster/loganalytics/namespacelookupsupdatedatamanagement/zz_controller.go index fef7e36e8..2e1caaf1e 100755 --- a/internal/controller/cluster/loganalytics/namespacelookupsupdatedatamanagement/zz_controller.go +++ b/internal/controller/cluster/loganalytics/namespacelookupsupdatedatamanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceLookupsUpdateDataManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceLookupsUpdateDataManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceLookupsUpdateDataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceLookupsUpdateDataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_lookups_update_data_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_lookups_update_data_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceLookupsUpdateDataManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/namespacescheduledtask/zz_controller.go b/internal/controller/cluster/loganalytics/namespacescheduledtask/zz_controller.go index 1e3a986b3..d726c6b8b 100755 --- a/internal/controller/cluster/loganalytics/namespacescheduledtask/zz_controller.go +++ b/internal/controller/cluster/loganalytics/namespacescheduledtask/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceScheduledTask_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceScheduledTask_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceScheduledTask_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceScheduledTask_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_scheduled_task"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_scheduled_task"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceScheduledTask_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/namespacestoragearchivalconfig/zz_controller.go b/internal/controller/cluster/loganalytics/namespacestoragearchivalconfig/zz_controller.go index 9861fb39c..a93ab4329 100755 --- a/internal/controller/cluster/loganalytics/namespacestoragearchivalconfig/zz_controller.go +++ b/internal/controller/cluster/loganalytics/namespacestoragearchivalconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceStorageArchivalConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceStorageArchivalConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceStorageArchivalConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceStorageArchivalConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_storage_archival_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_storage_archival_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceStorageArchivalConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/loganalytics/namespacestorageenabledisablearchiving/zz_controller.go b/internal/controller/cluster/loganalytics/namespacestorageenabledisablearchiving/zz_controller.go index de52859c0..938095bd4 100755 --- a/internal/controller/cluster/loganalytics/namespacestorageenabledisablearchiving/zz_controller.go +++ b/internal/controller/cluster/loganalytics/namespacestorageenabledisablearchiving/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceStorageEnableDisableArchiving_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceStorageEnableDisableArchiving_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceStorageEnableDisableArchiving_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceStorageEnableDisableArchiving_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_storage_enable_disable_archiving"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_storage_enable_disable_archiving"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceStorageEnableDisableArchiving_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/logging/log/zz_controller.go b/internal/controller/cluster/logging/log/zz_controller.go index eec0e3c0d..01099ea24 100755 --- a/internal/controller/cluster/logging/log/zz_controller.go +++ b/internal/controller/cluster/logging/log/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Log_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Log_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Log_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Log_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_logging_log"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_logging_log"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Log_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/logging/loggroup/zz_controller.go b/internal/controller/cluster/logging/loggroup/zz_controller.go index fe4409d4c..570345d97 100755 --- a/internal/controller/cluster/logging/loggroup/zz_controller.go +++ b/internal/controller/cluster/logging/loggroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_logging_log_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_logging_log_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/logging/logsavedsearch/zz_controller.go b/internal/controller/cluster/logging/logsavedsearch/zz_controller.go index 0372879b7..3e665bd09 100755 --- a/internal/controller/cluster/logging/logsavedsearch/zz_controller.go +++ b/internal/controller/cluster/logging/logsavedsearch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogSavedSearch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogSavedSearch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogSavedSearch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogSavedSearch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_logging_log_saved_search"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_logging_log_saved_search"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogSavedSearch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/logging/unifiedagentconfiguration/zz_controller.go b/internal/controller/cluster/logging/unifiedagentconfiguration/zz_controller.go index ddb74748a..462a6c701 100755 --- a/internal/controller/cluster/logging/unifiedagentconfiguration/zz_controller.go +++ b/internal/controller/cluster/logging/unifiedagentconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnifiedAgentConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnifiedAgentConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnifiedAgentConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnifiedAgentConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_logging_unified_agent_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_logging_unified_agent_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnifiedAgentConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/lustrefilestorage/lustrefilesystem/zz_controller.go b/internal/controller/cluster/lustrefilestorage/lustrefilesystem/zz_controller.go index 9ea8eb43c..ac8238760 100755 --- a/internal/controller/cluster/lustrefilestorage/lustrefilesystem/zz_controller.go +++ b/internal/controller/cluster/lustrefilestorage/lustrefilesystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LustreFileSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LustreFileSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LustreFileSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LustreFileSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_lustre_file_storage_lustre_file_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_lustre_file_storage_lustre_file_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LustreFileSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/lustrefilestorage/objectstoragelink/zz_controller.go b/internal/controller/cluster/lustrefilestorage/objectstoragelink/zz_controller.go index 5e1eea592..44fc2b1f7 100755 --- a/internal/controller/cluster/lustrefilestorage/objectstoragelink/zz_controller.go +++ b/internal/controller/cluster/lustrefilestorage/objectstoragelink/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ObjectStorageLink_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ObjectStorageLink_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ObjectStorageLink_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ObjectStorageLink_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_lustre_file_storage_object_storage_link"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_lustre_file_storage_object_storage_link"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ObjectStorageLink_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/managedkafka/kafkacluster/zz_controller.go b/internal/controller/cluster/managedkafka/kafkacluster/zz_controller.go index ef67333f1..fc5d69654 100755 --- a/internal/controller/cluster/managedkafka/kafkacluster/zz_controller.go +++ b/internal/controller/cluster/managedkafka/kafkacluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KafkaCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KafkaCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KafkaCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/managedkafka/kafkaclusteraddon/zz_controller.go b/internal/controller/cluster/managedkafka/kafkaclusteraddon/zz_controller.go index a777deaa9..21da13ad9 100755 --- a/internal/controller/cluster/managedkafka/kafkaclusteraddon/zz_controller.go +++ b/internal/controller/cluster/managedkafka/kafkaclusteraddon/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KafkaClusterAddon_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KafkaClusterAddon_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaClusterAddon_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaClusterAddon_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster_addon"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster_addon"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KafkaClusterAddon_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/managedkafka/kafkaclusterconfig/zz_controller.go b/internal/controller/cluster/managedkafka/kafkaclusterconfig/zz_controller.go index 86bd386e4..41c47b393 100755 --- a/internal/controller/cluster/managedkafka/kafkaclusterconfig/zz_controller.go +++ b/internal/controller/cluster/managedkafka/kafkaclusterconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KafkaClusterConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KafkaClusterConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaClusterConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaClusterConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KafkaClusterConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/managedkafka/kafkaclustersuperusersmanagement/zz_controller.go b/internal/controller/cluster/managedkafka/kafkaclustersuperusersmanagement/zz_controller.go index 4e15698af..4d471b187 100755 --- a/internal/controller/cluster/managedkafka/kafkaclustersuperusersmanagement/zz_controller.go +++ b/internal/controller/cluster/managedkafka/kafkaclustersuperusersmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KafkaClusterSuperusersManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KafkaClusterSuperusersManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaClusterSuperusersManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaClusterSuperusersManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster_superusers_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster_superusers_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KafkaClusterSuperusersManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/managementagent/managementagent/zz_controller.go b/internal/controller/cluster/managementagent/managementagent/zz_controller.go index 76934bb09..0b3e1887d 100755 --- a/internal/controller/cluster/managementagent/managementagent/zz_controller.go +++ b/internal/controller/cluster/managementagent/managementagent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementAgent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementAgent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAgent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAgent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_management_agent_management_agent"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_management_agent_management_agent"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementAgent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/managementagent/managementagentdatasource/zz_controller.go b/internal/controller/cluster/managementagent/managementagentdatasource/zz_controller.go index 11d0026c5..fd5216ec1 100755 --- a/internal/controller/cluster/managementagent/managementagentdatasource/zz_controller.go +++ b/internal/controller/cluster/managementagent/managementagentdatasource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementAgentDataSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementAgentDataSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAgentDataSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAgentDataSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_management_agent_management_agent_data_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_management_agent_management_agent_data_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementAgentDataSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/managementagent/managementagentinstallkey/zz_controller.go b/internal/controller/cluster/managementagent/managementagentinstallkey/zz_controller.go index 57d45d604..cc68e6cdc 100755 --- a/internal/controller/cluster/managementagent/managementagentinstallkey/zz_controller.go +++ b/internal/controller/cluster/managementagent/managementagentinstallkey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementAgentInstallKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementAgentInstallKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAgentInstallKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAgentInstallKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_management_agent_management_agent_install_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_management_agent_management_agent_install_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementAgentInstallKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/managementagent/namedcredential/zz_controller.go b/internal/controller/cluster/managementagent/namedcredential/zz_controller.go index ddb6b8213..1d8cd2a6b 100755 --- a/internal/controller/cluster/managementagent/namedcredential/zz_controller.go +++ b/internal/controller/cluster/managementagent/namedcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamedCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamedCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamedCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamedCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_management_agent_named_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_management_agent_named_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamedCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/managementdashboard/managementdashboardsimport/zz_controller.go b/internal/controller/cluster/managementdashboard/managementdashboardsimport/zz_controller.go index c6e1fd747..0b2aede3d 100755 --- a/internal/controller/cluster/managementdashboard/managementdashboardsimport/zz_controller.go +++ b/internal/controller/cluster/managementdashboard/managementdashboardsimport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementDashboardsImport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementDashboardsImport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementDashboardsImport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementDashboardsImport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_management_dashboard_management_dashboards_import"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_management_dashboard_management_dashboards_import"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementDashboardsImport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/managementdashboard/managementsavedsearch/zz_controller.go b/internal/controller/cluster/managementdashboard/managementsavedsearch/zz_controller.go index 6598e8c2c..466231b00 100755 --- a/internal/controller/cluster/managementdashboard/managementsavedsearch/zz_controller.go +++ b/internal/controller/cluster/managementdashboard/managementsavedsearch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementSavedSearch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementSavedSearch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementSavedSearch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementSavedSearch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_management_dashboard_management_saved_search"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_management_dashboard_management_saved_search"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementSavedSearch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/marketplace/acceptedagreement/zz_controller.go b/internal/controller/cluster/marketplace/acceptedagreement/zz_controller.go index 55776c744..a43737a40 100755 --- a/internal/controller/cluster/marketplace/acceptedagreement/zz_controller.go +++ b/internal/controller/cluster/marketplace/acceptedagreement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AcceptedAgreement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AcceptedAgreement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AcceptedAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AcceptedAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_marketplace_accepted_agreement"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_marketplace_accepted_agreement"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AcceptedAgreement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/marketplace/listingpackageagreement/zz_controller.go b/internal/controller/cluster/marketplace/listingpackageagreement/zz_controller.go index 576c3dcda..44b3c6686 100755 --- a/internal/controller/cluster/marketplace/listingpackageagreement/zz_controller.go +++ b/internal/controller/cluster/marketplace/listingpackageagreement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ListingPackageAgreement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ListingPackageAgreement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ListingPackageAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ListingPackageAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_marketplace_listing_package_agreement"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_marketplace_listing_package_agreement"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ListingPackageAgreement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/marketplace/marketplaceexternalattestedmetadata/zz_controller.go b/internal/controller/cluster/marketplace/marketplaceexternalattestedmetadata/zz_controller.go index 39f07dc71..c5408fab2 100755 --- a/internal/controller/cluster/marketplace/marketplaceexternalattestedmetadata/zz_controller.go +++ b/internal/controller/cluster/marketplace/marketplaceexternalattestedmetadata/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MarketplaceExternalAttestedMetadata_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MarketplaceExternalAttestedMetadata_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MarketplaceExternalAttestedMetadata_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MarketplaceExternalAttestedMetadata_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_marketplace_marketplace_external_attested_metadata"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_marketplace_marketplace_external_attested_metadata"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MarketplaceExternalAttestedMetadata_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/marketplace/publication/zz_controller.go b/internal/controller/cluster/marketplace/publication/zz_controller.go index 3c8458aa7..a8cf63433 100755 --- a/internal/controller/cluster/marketplace/publication/zz_controller.go +++ b/internal/controller/cluster/marketplace/publication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Publication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Publication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Publication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Publication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_marketplace_publication"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_marketplace_publication"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Publication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/mediaservices/mediaasset/zz_controller.go b/internal/controller/cluster/mediaservices/mediaasset/zz_controller.go index fea0b669c..117699958 100755 --- a/internal/controller/cluster/mediaservices/mediaasset/zz_controller.go +++ b/internal/controller/cluster/mediaservices/mediaasset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MediaAsset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MediaAsset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_asset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_asset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MediaAsset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/mediaservices/mediaworkflow/zz_controller.go b/internal/controller/cluster/mediaservices/mediaworkflow/zz_controller.go index 83234f71b..261c42444 100755 --- a/internal/controller/cluster/mediaservices/mediaworkflow/zz_controller.go +++ b/internal/controller/cluster/mediaservices/mediaworkflow/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MediaWorkflow_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MediaWorkflow_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaWorkflow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaWorkflow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_workflow"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_workflow"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MediaWorkflow_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/mediaservices/mediaworkflowconfiguration/zz_controller.go b/internal/controller/cluster/mediaservices/mediaworkflowconfiguration/zz_controller.go index 7ca17ab74..913d3db8f 100755 --- a/internal/controller/cluster/mediaservices/mediaworkflowconfiguration/zz_controller.go +++ b/internal/controller/cluster/mediaservices/mediaworkflowconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MediaWorkflowConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MediaWorkflowConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaWorkflowConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaWorkflowConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_workflow_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_workflow_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MediaWorkflowConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/mediaservices/mediaworkflowjob/zz_controller.go b/internal/controller/cluster/mediaservices/mediaworkflowjob/zz_controller.go index f1e23817c..b1958be9b 100755 --- a/internal/controller/cluster/mediaservices/mediaworkflowjob/zz_controller.go +++ b/internal/controller/cluster/mediaservices/mediaworkflowjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MediaWorkflowJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MediaWorkflowJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaWorkflowJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaWorkflowJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_workflow_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_workflow_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MediaWorkflowJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/mediaservices/streamcdnconfig/zz_controller.go b/internal/controller/cluster/mediaservices/streamcdnconfig/zz_controller.go index 345327823..6b5fcc617 100755 --- a/internal/controller/cluster/mediaservices/streamcdnconfig/zz_controller.go +++ b/internal/controller/cluster/mediaservices/streamcdnconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamCdnConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamCdnConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamCdnConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamCdnConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_stream_cdn_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_stream_cdn_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamCdnConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/mediaservices/streamdistributionchannel/zz_controller.go b/internal/controller/cluster/mediaservices/streamdistributionchannel/zz_controller.go index e59238548..4e44ce408 100755 --- a/internal/controller/cluster/mediaservices/streamdistributionchannel/zz_controller.go +++ b/internal/controller/cluster/mediaservices/streamdistributionchannel/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamDistributionChannel_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamDistributionChannel_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamDistributionChannel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamDistributionChannel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_stream_distribution_channel"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_stream_distribution_channel"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamDistributionChannel_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/mediaservices/streampackagingconfig/zz_controller.go b/internal/controller/cluster/mediaservices/streampackagingconfig/zz_controller.go index 2e63b80e3..7a361f570 100755 --- a/internal/controller/cluster/mediaservices/streampackagingconfig/zz_controller.go +++ b/internal/controller/cluster/mediaservices/streampackagingconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamPackagingConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamPackagingConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamPackagingConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamPackagingConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_stream_packaging_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_stream_packaging_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamPackagingConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/meteringcomputation/customtable/zz_controller.go b/internal/controller/cluster/meteringcomputation/customtable/zz_controller.go index 0fce647c4..abd2c5ebe 100755 --- a/internal/controller/cluster/meteringcomputation/customtable/zz_controller.go +++ b/internal/controller/cluster/meteringcomputation/customtable/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CustomTable_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CustomTable_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_custom_table"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_custom_table"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CustomTable_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/meteringcomputation/query/zz_controller.go b/internal/controller/cluster/meteringcomputation/query/zz_controller.go index 448c0a251..31fe11ad3 100755 --- a/internal/controller/cluster/meteringcomputation/query/zz_controller.go +++ b/internal/controller/cluster/meteringcomputation/query/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Query_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Query_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Query_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Query_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_query"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_query"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Query_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/meteringcomputation/schedule/zz_controller.go b/internal/controller/cluster/meteringcomputation/schedule/zz_controller.go index 7e827c513..6f35d89eb 100755 --- a/internal/controller/cluster/meteringcomputation/schedule/zz_controller.go +++ b/internal/controller/cluster/meteringcomputation/schedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Schedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Schedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Schedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Schedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Schedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/meteringcomputation/usage/zz_controller.go b/internal/controller/cluster/meteringcomputation/usage/zz_controller.go index 9ef91f277..fcd2ddba0 100755 --- a/internal/controller/cluster/meteringcomputation/usage/zz_controller.go +++ b/internal/controller/cluster/meteringcomputation/usage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Usage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Usage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Usage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Usage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Usage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/meteringcomputation/usagecarbonemission/zz_controller.go b/internal/controller/cluster/meteringcomputation/usagecarbonemission/zz_controller.go index ffe8cb8fd..670edf515 100755 --- a/internal/controller/cluster/meteringcomputation/usagecarbonemission/zz_controller.go +++ b/internal/controller/cluster/meteringcomputation/usagecarbonemission/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UsageCarbonEmission_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UsageCarbonEmission_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsageCarbonEmission_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsageCarbonEmission_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage_carbon_emission"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage_carbon_emission"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UsageCarbonEmission_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/meteringcomputation/usagecarbonemissionsquery/zz_controller.go b/internal/controller/cluster/meteringcomputation/usagecarbonemissionsquery/zz_controller.go index 4e992fefa..74b42bf3d 100755 --- a/internal/controller/cluster/meteringcomputation/usagecarbonemissionsquery/zz_controller.go +++ b/internal/controller/cluster/meteringcomputation/usagecarbonemissionsquery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UsageCarbonEmissionsQuery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UsageCarbonEmissionsQuery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsageCarbonEmissionsQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsageCarbonEmissionsQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage_carbon_emissions_query"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage_carbon_emissions_query"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UsageCarbonEmissionsQuery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/meteringcomputation/usagestatementemailrecipientsgroup/zz_controller.go b/internal/controller/cluster/meteringcomputation/usagestatementemailrecipientsgroup/zz_controller.go index b1d515453..027c2f363 100755 --- a/internal/controller/cluster/meteringcomputation/usagestatementemailrecipientsgroup/zz_controller.go +++ b/internal/controller/cluster/meteringcomputation/usagestatementemailrecipientsgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UsageStatementEmailRecipientsGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UsageStatementEmailRecipientsGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsageStatementEmailRecipientsGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsageStatementEmailRecipientsGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage_statement_email_recipients_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage_statement_email_recipients_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UsageStatementEmailRecipientsGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/monitoring/alarm/zz_controller.go b/internal/controller/cluster/monitoring/alarm/zz_controller.go index 6e8ae6a45..f5a82ace1 100755 --- a/internal/controller/cluster/monitoring/alarm/zz_controller.go +++ b/internal/controller/cluster/monitoring/alarm/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Alarm_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Alarm_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Alarm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Alarm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_monitoring_alarm"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_monitoring_alarm"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Alarm_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/monitoring/alarmsuppression/zz_controller.go b/internal/controller/cluster/monitoring/alarmsuppression/zz_controller.go index 180d4c7fe..4d8d38c0f 100755 --- a/internal/controller/cluster/monitoring/alarmsuppression/zz_controller.go +++ b/internal/controller/cluster/monitoring/alarmsuppression/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AlarmSuppression_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AlarmSuppression_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlarmSuppression_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlarmSuppression_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_monitoring_alarm_suppression"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_monitoring_alarm_suppression"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AlarmSuppression_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/monitoring/capturefilter/zz_controller.go b/internal/controller/cluster/monitoring/capturefilter/zz_controller.go index e726f53f0..7ed7b7bef 100755 --- a/internal/controller/cluster/monitoring/capturefilter/zz_controller.go +++ b/internal/controller/cluster/monitoring/capturefilter/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CaptureFilter_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CaptureFilter_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CaptureFilter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CaptureFilter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_capture_filter"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_capture_filter"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CaptureFilter_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/monitoring/vtap/zz_controller.go b/internal/controller/cluster/monitoring/vtap/zz_controller.go index 76e0f69e1..8e5598691 100755 --- a/internal/controller/cluster/monitoring/vtap/zz_controller.go +++ b/internal/controller/cluster/monitoring/vtap/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Vtap_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Vtap_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vtap_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vtap_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_vtap"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_vtap"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Vtap_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/mysql/mysqlbackup/zz_controller.go b/internal/controller/cluster/mysql/mysqlbackup/zz_controller.go index 933715776..b564d4239 100755 --- a/internal/controller/cluster/mysql/mysqlbackup/zz_controller.go +++ b/internal/controller/cluster/mysql/mysqlbackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MysqlBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MysqlBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_mysql_mysql_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_mysql_mysql_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MysqlBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/mysql/mysqlchannel/zz_controller.go b/internal/controller/cluster/mysql/mysqlchannel/zz_controller.go index 6dc817327..0d90e5537 100755 --- a/internal/controller/cluster/mysql/mysqlchannel/zz_controller.go +++ b/internal/controller/cluster/mysql/mysqlchannel/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MysqlChannel_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MysqlChannel_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlChannel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlChannel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_mysql_channel"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_mysql_channel"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MysqlChannel_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/mysql/mysqlconfiguration/zz_controller.go b/internal/controller/cluster/mysql/mysqlconfiguration/zz_controller.go index 8879f4fb5..bbe0f0397 100755 --- a/internal/controller/cluster/mysql/mysqlconfiguration/zz_controller.go +++ b/internal/controller/cluster/mysql/mysqlconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MysqlConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MysqlConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_mysql_mysql_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_mysql_mysql_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MysqlConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/mysql/mysqldbsystem/zz_controller.go b/internal/controller/cluster/mysql/mysqldbsystem/zz_controller.go index 08b4d3d7b..443abd5b9 100755 --- a/internal/controller/cluster/mysql/mysqldbsystem/zz_controller.go +++ b/internal/controller/cluster/mysql/mysqldbsystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MysqlDbSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MysqlDbSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_mysql_mysql_db_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_mysql_mysql_db_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MysqlDbSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/mysql/mysqlheatwavecluster/zz_controller.go b/internal/controller/cluster/mysql/mysqlheatwavecluster/zz_controller.go index 76fb2afce..eef31e048 100755 --- a/internal/controller/cluster/mysql/mysqlheatwavecluster/zz_controller.go +++ b/internal/controller/cluster/mysql/mysqlheatwavecluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MysqlHeatWaveCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MysqlHeatWaveCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlHeatWaveCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlHeatWaveCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_mysql_heat_wave_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_mysql_heat_wave_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MysqlHeatWaveCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/mysql/mysqlreplica/zz_controller.go b/internal/controller/cluster/mysql/mysqlreplica/zz_controller.go index 917049ae9..14c1a7a3c 100755 --- a/internal/controller/cluster/mysql/mysqlreplica/zz_controller.go +++ b/internal/controller/cluster/mysql/mysqlreplica/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MysqlReplica_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MysqlReplica_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlReplica_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlReplica_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_mysql_replica"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_mysql_replica"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MysqlReplica_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/cpe/zz_controller.go b/internal/controller/cluster/networkconnectivity/cpe/zz_controller.go index b87a4fdcd..155e7c4f6 100755 --- a/internal/controller/cluster/networkconnectivity/cpe/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/cpe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Cpe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Cpe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Cpe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Cpe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_cpe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_cpe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Cpe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/crossconnect/zz_controller.go b/internal/controller/cluster/networkconnectivity/crossconnect/zz_controller.go index 200ed0027..bd849da15 100755 --- a/internal/controller/cluster/networkconnectivity/crossconnect/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/crossconnect/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CrossConnect_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CrossConnect_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CrossConnect_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CrossConnect_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_cross_connect"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_cross_connect"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CrossConnect_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/crossconnectgroup/zz_controller.go b/internal/controller/cluster/networkconnectivity/crossconnectgroup/zz_controller.go index 57dec126f..6a38d55c8 100755 --- a/internal/controller/cluster/networkconnectivity/crossconnectgroup/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/crossconnectgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CrossConnectGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CrossConnectGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CrossConnectGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CrossConnectGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_cross_connect_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_cross_connect_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CrossConnectGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/drg/zz_controller.go b/internal/controller/cluster/networkconnectivity/drg/zz_controller.go index 1b59a7209..4bdc44c97 100755 --- a/internal/controller/cluster/networkconnectivity/drg/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/drg/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Drg_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Drg_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Drg_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Drg_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Drg_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/drgattachment/zz_controller.go b/internal/controller/cluster/networkconnectivity/drgattachment/zz_controller.go index ad2620427..d6b7a3dcb 100755 --- a/internal/controller/cluster/networkconnectivity/drgattachment/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/drgattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/drgattachmentmanagement/zz_controller.go b/internal/controller/cluster/networkconnectivity/drgattachmentmanagement/zz_controller.go index 4839a1200..e6571f009 100755 --- a/internal/controller/cluster/networkconnectivity/drgattachmentmanagement/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/drgattachmentmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgAttachmentManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgAttachmentManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgAttachmentManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgAttachmentManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_attachment_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_attachment_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgAttachmentManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/drgattachmentslist/zz_controller.go b/internal/controller/cluster/networkconnectivity/drgattachmentslist/zz_controller.go index 49bbc258f..43b1dbb47 100755 --- a/internal/controller/cluster/networkconnectivity/drgattachmentslist/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/drgattachmentslist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgAttachmentsList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgAttachmentsList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgAttachmentsList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgAttachmentsList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_attachments_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_attachments_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgAttachmentsList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/drgroutedistribution/zz_controller.go b/internal/controller/cluster/networkconnectivity/drgroutedistribution/zz_controller.go index 94d0ad485..111001dad 100755 --- a/internal/controller/cluster/networkconnectivity/drgroutedistribution/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/drgroutedistribution/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgRouteDistribution_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgRouteDistribution_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteDistribution_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteDistribution_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_distribution"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_distribution"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgRouteDistribution_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/drgroutedistributionstatement/zz_controller.go b/internal/controller/cluster/networkconnectivity/drgroutedistributionstatement/zz_controller.go index af232e458..f8465f8da 100755 --- a/internal/controller/cluster/networkconnectivity/drgroutedistributionstatement/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/drgroutedistributionstatement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgRouteDistributionStatement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgRouteDistributionStatement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteDistributionStatement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteDistributionStatement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_distribution_statement"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_distribution_statement"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgRouteDistributionStatement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/drgroutetable/zz_controller.go b/internal/controller/cluster/networkconnectivity/drgroutetable/zz_controller.go index 8f1096ae7..1a71f74e9 100755 --- a/internal/controller/cluster/networkconnectivity/drgroutetable/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/drgroutetable/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgRouteTable_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgRouteTable_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_table"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_table"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgRouteTable_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/drgroutetablerouterule/zz_controller.go b/internal/controller/cluster/networkconnectivity/drgroutetablerouterule/zz_controller.go index fd279d8f1..aa823887c 100755 --- a/internal/controller/cluster/networkconnectivity/drgroutetablerouterule/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/drgroutetablerouterule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgRouteTableRouteRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgRouteTableRouteRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteTableRouteRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteTableRouteRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_table_route_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_table_route_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgRouteTableRouteRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/ipsec/zz_controller.go b/internal/controller/cluster/networkconnectivity/ipsec/zz_controller.go index a7bbe2978..704385214 100755 --- a/internal/controller/cluster/networkconnectivity/ipsec/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/ipsec/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Ipsec_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Ipsec_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Ipsec_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Ipsec_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_ipsec"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_ipsec"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Ipsec_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/ipsecconnectiontunnelmanagement/zz_controller.go b/internal/controller/cluster/networkconnectivity/ipsecconnectiontunnelmanagement/zz_controller.go index 1b1da1d58..ed6b084f0 100755 --- a/internal/controller/cluster/networkconnectivity/ipsecconnectiontunnelmanagement/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/ipsecconnectiontunnelmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IpsecConnectionTunnelManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IpsecConnectionTunnelManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IpsecConnectionTunnelManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IpsecConnectionTunnelManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_ipsec_connection_tunnel_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_ipsec_connection_tunnel_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IpsecConnectionTunnelManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkconnectivity/virtualcircuit/zz_controller.go b/internal/controller/cluster/networkconnectivity/virtualcircuit/zz_controller.go index 8f15c40a4..eb90c7355 100755 --- a/internal/controller/cluster/networkconnectivity/virtualcircuit/zz_controller.go +++ b/internal/controller/cluster/networkconnectivity/virtualcircuit/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VirtualCircuit_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VirtualCircuit_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VirtualCircuit_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VirtualCircuit_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_virtual_circuit"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_virtual_circuit"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VirtualCircuit_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkfirewall/networkfirewall/zz_controller.go b/internal/controller/cluster/networkfirewall/networkfirewall/zz_controller.go index 9947d218b..0e23a83ae 100755 --- a/internal/controller/cluster/networkfirewall/networkfirewall/zz_controller.go +++ b/internal/controller/cluster/networkfirewall/networkfirewall/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewall_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewall_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewall_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewall_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewall_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkfirewall/networkfirewallpolicy/zz_controller.go b/internal/controller/cluster/networkfirewall/networkfirewallpolicy/zz_controller.go index 73d896d50..569015012 100755 --- a/internal/controller/cluster/networkfirewall/networkfirewallpolicy/zz_controller.go +++ b/internal/controller/cluster/networkfirewall/networkfirewallpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkfirewall/networkfirewallpolicyaddresslist/zz_controller.go b/internal/controller/cluster/networkfirewall/networkfirewallpolicyaddresslist/zz_controller.go index 29832c66e..3e8b00a4e 100755 --- a/internal/controller/cluster/networkfirewall/networkfirewallpolicyaddresslist/zz_controller.go +++ b/internal/controller/cluster/networkfirewall/networkfirewallpolicyaddresslist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyAddressList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyAddressList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyAddressList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyAddressList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_address_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_address_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyAddressList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkfirewall/networkfirewallpolicyapplication/zz_controller.go b/internal/controller/cluster/networkfirewall/networkfirewallpolicyapplication/zz_controller.go index 7d777ca92..f55b97770 100755 --- a/internal/controller/cluster/networkfirewall/networkfirewallpolicyapplication/zz_controller.go +++ b/internal/controller/cluster/networkfirewall/networkfirewallpolicyapplication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyApplication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyApplication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_application"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_application"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyApplication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkfirewall/networkfirewallpolicyapplicationgroup/zz_controller.go b/internal/controller/cluster/networkfirewall/networkfirewallpolicyapplicationgroup/zz_controller.go index 46c53abc6..73bfa38ec 100755 --- a/internal/controller/cluster/networkfirewall/networkfirewallpolicyapplicationgroup/zz_controller.go +++ b/internal/controller/cluster/networkfirewall/networkfirewallpolicyapplicationgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyApplicationGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyApplicationGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyApplicationGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyApplicationGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_application_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_application_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyApplicationGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkfirewall/networkfirewallpolicydecryptionprofile/zz_controller.go b/internal/controller/cluster/networkfirewall/networkfirewallpolicydecryptionprofile/zz_controller.go index b9e2bce72..d4d65aaea 100755 --- a/internal/controller/cluster/networkfirewall/networkfirewallpolicydecryptionprofile/zz_controller.go +++ b/internal/controller/cluster/networkfirewall/networkfirewallpolicydecryptionprofile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyDecryptionProfile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyDecryptionProfile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyDecryptionProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyDecryptionProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_decryption_profile"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_decryption_profile"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyDecryptionProfile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkfirewall/networkfirewallpolicydecryptionrule/zz_controller.go b/internal/controller/cluster/networkfirewall/networkfirewallpolicydecryptionrule/zz_controller.go index cb296d003..bdad52adb 100755 --- a/internal/controller/cluster/networkfirewall/networkfirewallpolicydecryptionrule/zz_controller.go +++ b/internal/controller/cluster/networkfirewall/networkfirewallpolicydecryptionrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyDecryptionRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyDecryptionRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyDecryptionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyDecryptionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_decryption_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_decryption_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyDecryptionRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkfirewall/networkfirewallpolicymappedsecret/zz_controller.go b/internal/controller/cluster/networkfirewall/networkfirewallpolicymappedsecret/zz_controller.go index 759f22567..33e6b50d6 100755 --- a/internal/controller/cluster/networkfirewall/networkfirewallpolicymappedsecret/zz_controller.go +++ b/internal/controller/cluster/networkfirewall/networkfirewallpolicymappedsecret/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyMappedSecret_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyMappedSecret_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyMappedSecret_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyMappedSecret_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_mapped_secret"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_mapped_secret"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyMappedSecret_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkfirewall/networkfirewallpolicynatrule/zz_controller.go b/internal/controller/cluster/networkfirewall/networkfirewallpolicynatrule/zz_controller.go index 21310842f..bf713dc44 100755 --- a/internal/controller/cluster/networkfirewall/networkfirewallpolicynatrule/zz_controller.go +++ b/internal/controller/cluster/networkfirewall/networkfirewallpolicynatrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyNatRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyNatRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyNatRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyNatRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_nat_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_nat_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyNatRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkfirewall/networkfirewallpolicysecurityrule/zz_controller.go b/internal/controller/cluster/networkfirewall/networkfirewallpolicysecurityrule/zz_controller.go index d3f59615c..0f34428cf 100755 --- a/internal/controller/cluster/networkfirewall/networkfirewallpolicysecurityrule/zz_controller.go +++ b/internal/controller/cluster/networkfirewall/networkfirewallpolicysecurityrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicySecurityRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicySecurityRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicySecurityRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicySecurityRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_security_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_security_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicySecurityRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkfirewall/networkfirewallpolicyservice/zz_controller.go b/internal/controller/cluster/networkfirewall/networkfirewallpolicyservice/zz_controller.go index b5d8c4ce5..557a6fad0 100755 --- a/internal/controller/cluster/networkfirewall/networkfirewallpolicyservice/zz_controller.go +++ b/internal/controller/cluster/networkfirewall/networkfirewallpolicyservice/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyService_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyService_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyService_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyService_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_service"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_service"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyService_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkfirewall/networkfirewallpolicytunnelinspectionrule/zz_controller.go b/internal/controller/cluster/networkfirewall/networkfirewallpolicytunnelinspectionrule/zz_controller.go index 1df45a76e..f56a58d0f 100755 --- a/internal/controller/cluster/networkfirewall/networkfirewallpolicytunnelinspectionrule/zz_controller.go +++ b/internal/controller/cluster/networkfirewall/networkfirewallpolicytunnelinspectionrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyTunnelInspectionRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyTunnelInspectionRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyTunnelInspectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyTunnelInspectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_tunnel_inspection_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_tunnel_inspection_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyTunnelInspectionRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/defaultdhcpoptions/zz_controller.go b/internal/controller/cluster/networking/defaultdhcpoptions/zz_controller.go index 593a0faa5..34b535df4 100755 --- a/internal/controller/cluster/networking/defaultdhcpoptions/zz_controller.go +++ b/internal/controller/cluster/networking/defaultdhcpoptions/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DefaultDhcpOptions_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DefaultDhcpOptions_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DefaultDhcpOptions_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DefaultDhcpOptions_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_default_dhcp_options"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_default_dhcp_options"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DefaultDhcpOptions_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/defaultroutetable/zz_controller.go b/internal/controller/cluster/networking/defaultroutetable/zz_controller.go index 50a1a1dbf..93d32df7b 100755 --- a/internal/controller/cluster/networking/defaultroutetable/zz_controller.go +++ b/internal/controller/cluster/networking/defaultroutetable/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DefaultRouteTable_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DefaultRouteTable_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DefaultRouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DefaultRouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_default_route_table"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_default_route_table"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DefaultRouteTable_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/defaultsecuritylist/zz_controller.go b/internal/controller/cluster/networking/defaultsecuritylist/zz_controller.go index bcb1e685f..9ff38e770 100755 --- a/internal/controller/cluster/networking/defaultsecuritylist/zz_controller.go +++ b/internal/controller/cluster/networking/defaultsecuritylist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DefaultSecurityList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DefaultSecurityList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DefaultSecurityList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DefaultSecurityList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_default_security_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_default_security_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DefaultSecurityList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/dhcpoptions/zz_controller.go b/internal/controller/cluster/networking/dhcpoptions/zz_controller.go index 0ef975aff..2ce6119d6 100755 --- a/internal/controller/cluster/networking/dhcpoptions/zz_controller.go +++ b/internal/controller/cluster/networking/dhcpoptions/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DhcpOptions_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DhcpOptions_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DhcpOptions_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DhcpOptions_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_dhcp_options"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_dhcp_options"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DhcpOptions_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/internetgateway/zz_controller.go b/internal/controller/cluster/networking/internetgateway/zz_controller.go index 1849d63e9..a7536663f 100755 --- a/internal/controller/cluster/networking/internetgateway/zz_controller.go +++ b/internal/controller/cluster/networking/internetgateway/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InternetGateway_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InternetGateway_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InternetGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InternetGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_internet_gateway"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_internet_gateway"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InternetGateway_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/ipv6/zz_controller.go b/internal/controller/cluster/networking/ipv6/zz_controller.go index bc60bbe0d..7bf2a4b03 100755 --- a/internal/controller/cluster/networking/ipv6/zz_controller.go +++ b/internal/controller/cluster/networking/ipv6/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Ipv6_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Ipv6_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Ipv6_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Ipv6_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_ipv6"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_ipv6"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Ipv6_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/localpeeringgateway/zz_controller.go b/internal/controller/cluster/networking/localpeeringgateway/zz_controller.go index 74bcb5353..e618f1126 100755 --- a/internal/controller/cluster/networking/localpeeringgateway/zz_controller.go +++ b/internal/controller/cluster/networking/localpeeringgateway/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LocalPeeringGateway_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LocalPeeringGateway_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LocalPeeringGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LocalPeeringGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_local_peering_gateway"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_local_peering_gateway"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LocalPeeringGateway_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/natgateway/zz_controller.go b/internal/controller/cluster/networking/natgateway/zz_controller.go index e7ff1443f..cc4d684b5 100755 --- a/internal/controller/cluster/networking/natgateway/zz_controller.go +++ b/internal/controller/cluster/networking/natgateway/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NatGateway_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NatGateway_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NatGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NatGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_nat_gateway"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_nat_gateway"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NatGateway_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/networksecuritygroup/zz_controller.go b/internal/controller/cluster/networking/networksecuritygroup/zz_controller.go index 0e55ba34a..7a724cbc2 100755 --- a/internal/controller/cluster/networking/networksecuritygroup/zz_controller.go +++ b/internal/controller/cluster/networking/networksecuritygroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkSecurityGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkSecurityGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkSecurityGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkSecurityGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_network_security_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_network_security_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkSecurityGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/networksecuritygroupsecurityrule/zz_controller.go b/internal/controller/cluster/networking/networksecuritygroupsecurityrule/zz_controller.go index 15db23d98..16d7e803b 100755 --- a/internal/controller/cluster/networking/networksecuritygroupsecurityrule/zz_controller.go +++ b/internal/controller/cluster/networking/networksecuritygroupsecurityrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkSecurityGroupSecurityRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkSecurityGroupSecurityRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkSecurityGroupSecurityRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkSecurityGroupSecurityRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_network_security_group_security_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_network_security_group_security_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkSecurityGroupSecurityRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/privateip/zz_controller.go b/internal/controller/cluster/networking/privateip/zz_controller.go index cb33c5e75..ad3a3fd4a 100755 --- a/internal/controller/cluster/networking/privateip/zz_controller.go +++ b/internal/controller/cluster/networking/privateip/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateIp_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateIp_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateIp_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateIp_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_private_ip"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_private_ip"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateIp_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/publicip/zz_controller.go b/internal/controller/cluster/networking/publicip/zz_controller.go index e8fa6f977..c75500583 100755 --- a/internal/controller/cluster/networking/publicip/zz_controller.go +++ b/internal/controller/cluster/networking/publicip/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PublicIp_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PublicIp_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PublicIp_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PublicIp_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_public_ip"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_public_ip"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PublicIp_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/publicippool/zz_controller.go b/internal/controller/cluster/networking/publicippool/zz_controller.go index 353ca9a7b..23f577710 100755 --- a/internal/controller/cluster/networking/publicippool/zz_controller.go +++ b/internal/controller/cluster/networking/publicippool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PublicIpPool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PublicIpPool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PublicIpPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PublicIpPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_public_ip_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_public_ip_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PublicIpPool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/publicippoolcapacity/zz_controller.go b/internal/controller/cluster/networking/publicippoolcapacity/zz_controller.go index d22d00650..4242f9790 100755 --- a/internal/controller/cluster/networking/publicippoolcapacity/zz_controller.go +++ b/internal/controller/cluster/networking/publicippoolcapacity/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PublicIpPoolCapacity_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PublicIpPoolCapacity_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PublicIpPoolCapacity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PublicIpPoolCapacity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_public_ip_pool_capacity"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_public_ip_pool_capacity"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PublicIpPoolCapacity_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/remotepeeringconnection/zz_controller.go b/internal/controller/cluster/networking/remotepeeringconnection/zz_controller.go index a1e869a2c..0b2a68474 100755 --- a/internal/controller/cluster/networking/remotepeeringconnection/zz_controller.go +++ b/internal/controller/cluster/networking/remotepeeringconnection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RemotePeeringConnection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RemotePeeringConnection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RemotePeeringConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RemotePeeringConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_remote_peering_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_remote_peering_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RemotePeeringConnection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/routetable/zz_controller.go b/internal/controller/cluster/networking/routetable/zz_controller.go index 2f95b7627..c0663e640 100755 --- a/internal/controller/cluster/networking/routetable/zz_controller.go +++ b/internal/controller/cluster/networking/routetable/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RouteTable_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RouteTable_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_route_table"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_route_table"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RouteTable_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/routetableattachment/zz_controller.go b/internal/controller/cluster/networking/routetableattachment/zz_controller.go index 500458783..2bfc0be30 100755 --- a/internal/controller/cluster/networking/routetableattachment/zz_controller.go +++ b/internal/controller/cluster/networking/routetableattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RouteTableAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RouteTableAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RouteTableAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RouteTableAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_route_table_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_route_table_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RouteTableAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/securitylist/zz_controller.go b/internal/controller/cluster/networking/securitylist/zz_controller.go index f294ea5e4..bc0327a3b 100755 --- a/internal/controller/cluster/networking/securitylist/zz_controller.go +++ b/internal/controller/cluster/networking/securitylist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_security_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_security_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/servicegateway/zz_controller.go b/internal/controller/cluster/networking/servicegateway/zz_controller.go index 66866b70e..d23de9de6 100755 --- a/internal/controller/cluster/networking/servicegateway/zz_controller.go +++ b/internal/controller/cluster/networking/servicegateway/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ServiceGateway_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ServiceGateway_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_service_gateway"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_service_gateway"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ServiceGateway_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/subnet/zz_controller.go b/internal/controller/cluster/networking/subnet/zz_controller.go index 1917cd548..cdf32741d 100755 --- a/internal/controller/cluster/networking/subnet/zz_controller.go +++ b/internal/controller/cluster/networking/subnet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Subnet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Subnet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subnet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subnet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_subnet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_subnet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Subnet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/vcn/zz_controller.go b/internal/controller/cluster/networking/vcn/zz_controller.go index faa5cd852..f925657ed 100755 --- a/internal/controller/cluster/networking/vcn/zz_controller.go +++ b/internal/controller/cluster/networking/vcn/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Vcn_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Vcn_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vcn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vcn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_vcn"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_vcn"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Vcn_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/vlan/zz_controller.go b/internal/controller/cluster/networking/vlan/zz_controller.go index 3edbd4611..8ea184629 100755 --- a/internal/controller/cluster/networking/vlan/zz_controller.go +++ b/internal/controller/cluster/networking/vlan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Vlan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Vlan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_vlan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_vlan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Vlan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networking/vnicattachment/zz_controller.go b/internal/controller/cluster/networking/vnicattachment/zz_controller.go index ac6526ed9..0010a22c9 100755 --- a/internal/controller/cluster/networking/vnicattachment/zz_controller.go +++ b/internal/controller/cluster/networking/vnicattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VnicAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VnicAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VnicAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VnicAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_vnic_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_vnic_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VnicAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkloadbalancer/backend/zz_controller.go b/internal/controller/cluster/networkloadbalancer/backend/zz_controller.go index e4d0af7ea..a45c461ea 100755 --- a/internal/controller/cluster/networkloadbalancer/backend/zz_controller.go +++ b/internal/controller/cluster/networkloadbalancer/backend/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Backend_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Backend_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Backend_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Backend_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_backend"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_backend"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Backend_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkloadbalancer/backendset/zz_controller.go b/internal/controller/cluster/networkloadbalancer/backendset/zz_controller.go index cac80c284..bc9e590fc 100755 --- a/internal/controller/cluster/networkloadbalancer/backendset/zz_controller.go +++ b/internal/controller/cluster/networkloadbalancer/backendset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BackendSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BackendSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackendSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackendSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_backend_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_backend_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BackendSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkloadbalancer/listener/zz_controller.go b/internal/controller/cluster/networkloadbalancer/listener/zz_controller.go index fc3e3d16d..b7aaea410 100755 --- a/internal/controller/cluster/networkloadbalancer/listener/zz_controller.go +++ b/internal/controller/cluster/networkloadbalancer/listener/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Listener_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Listener_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Listener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Listener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_listener"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_listener"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Listener_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkloadbalancer/networkloadbalancer/zz_controller.go b/internal/controller/cluster/networkloadbalancer/networkloadbalancer/zz_controller.go index a0ca435a1..2d0510858 100755 --- a/internal/controller/cluster/networkloadbalancer/networkloadbalancer/zz_controller.go +++ b/internal/controller/cluster/networkloadbalancer/networkloadbalancer/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkLoadBalancer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkLoadBalancer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkLoadBalancer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkLoadBalancer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_network_load_balancer"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_network_load_balancer"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkLoadBalancer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/networkloadbalancer/networkloadbalancersbackendsetsunified/zz_controller.go b/internal/controller/cluster/networkloadbalancer/networkloadbalancersbackendsetsunified/zz_controller.go index 93c3f56eb..87c4e17e7 100755 --- a/internal/controller/cluster/networkloadbalancer/networkloadbalancersbackendsetsunified/zz_controller.go +++ b/internal/controller/cluster/networkloadbalancer/networkloadbalancersbackendsetsunified/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkLoadBalancersBackendSetsUnified_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkLoadBalancersBackendSetsUnified_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkLoadBalancersBackendSetsUnified_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkLoadBalancersBackendSetsUnified_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_network_load_balancers_backend_sets_unified"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_network_load_balancers_backend_sets_unified"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkLoadBalancersBackendSetsUnified_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/nosql/configuration/zz_controller.go b/internal/controller/cluster/nosql/configuration/zz_controller.go index 906b09deb..8f309360b 100755 --- a/internal/controller/cluster/nosql/configuration/zz_controller.go +++ b/internal/controller/cluster/nosql/configuration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Configuration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Configuration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_nosql_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_nosql_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Configuration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/nosql/index/zz_controller.go b/internal/controller/cluster/nosql/index/zz_controller.go index 533ae52a0..d58bf525f 100755 --- a/internal/controller/cluster/nosql/index/zz_controller.go +++ b/internal/controller/cluster/nosql/index/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Index_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Index_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Index_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Index_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_nosql_index"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_nosql_index"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Index_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/nosql/table/zz_controller.go b/internal/controller/cluster/nosql/table/zz_controller.go index 410620bd3..78295a9b3 100755 --- a/internal/controller/cluster/nosql/table/zz_controller.go +++ b/internal/controller/cluster/nosql/table/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Table_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Table_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Table_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Table_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_nosql_table"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_nosql_table"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Table_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/nosql/tablereplica/zz_controller.go b/internal/controller/cluster/nosql/tablereplica/zz_controller.go index d618b9fee..edea8dd8e 100755 --- a/internal/controller/cluster/nosql/tablereplica/zz_controller.go +++ b/internal/controller/cluster/nosql/tablereplica/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TableReplica_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TableReplica_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TableReplica_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TableReplica_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_nosql_table_replica"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_nosql_table_replica"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TableReplica_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/objectstorage/bucket/zz_controller.go b/internal/controller/cluster/objectstorage/bucket/zz_controller.go index 583ecf0d2..8900f98f1 100755 --- a/internal/controller/cluster/objectstorage/bucket/zz_controller.go +++ b/internal/controller/cluster/objectstorage/bucket/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Bucket_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Bucket_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Bucket_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Bucket_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_bucket"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_bucket"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Bucket_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/objectstorage/object/zz_controller.go b/internal/controller/cluster/objectstorage/object/zz_controller.go index d48d31d8b..f4385e264 100755 --- a/internal/controller/cluster/objectstorage/object/zz_controller.go +++ b/internal/controller/cluster/objectstorage/object/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Object_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Object_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Object_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Object_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_object"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_object"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Object_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/objectstorage/objectlifecyclepolicy/zz_controller.go b/internal/controller/cluster/objectstorage/objectlifecyclepolicy/zz_controller.go index ab0e7df9f..b2a1db4f7 100755 --- a/internal/controller/cluster/objectstorage/objectlifecyclepolicy/zz_controller.go +++ b/internal/controller/cluster/objectstorage/objectlifecyclepolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ObjectLifecyclePolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ObjectLifecyclePolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ObjectLifecyclePolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ObjectLifecyclePolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_object_lifecycle_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_object_lifecycle_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ObjectLifecyclePolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/objectstorage/preauthrequest/zz_controller.go b/internal/controller/cluster/objectstorage/preauthrequest/zz_controller.go index 46acb347c..8a1fad995 100755 --- a/internal/controller/cluster/objectstorage/preauthrequest/zz_controller.go +++ b/internal/controller/cluster/objectstorage/preauthrequest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Preauthrequest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Preauthrequest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Preauthrequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Preauthrequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_preauthrequest"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_preauthrequest"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Preauthrequest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/objectstorage/privateendpoint/zz_controller.go b/internal/controller/cluster/objectstorage/privateendpoint/zz_controller.go index 698ce902e..035ee6c83 100755 --- a/internal/controller/cluster/objectstorage/privateendpoint/zz_controller.go +++ b/internal/controller/cluster/objectstorage/privateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/objectstorage/replicationpolicy/zz_controller.go b/internal/controller/cluster/objectstorage/replicationpolicy/zz_controller.go index 30d041c4e..08aae355b 100755 --- a/internal/controller/cluster/objectstorage/replicationpolicy/zz_controller.go +++ b/internal/controller/cluster/objectstorage/replicationpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ReplicationPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ReplicationPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ReplicationPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ReplicationPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_replication_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_replication_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ReplicationPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/oce/oceinstance/zz_controller.go b/internal/controller/cluster/oce/oceinstance/zz_controller.go index e33fcd5bb..26959ea67 100755 --- a/internal/controller/cluster/oce/oceinstance/zz_controller.go +++ b/internal/controller/cluster/oce/oceinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OceInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OceInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OceInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OceInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_oce_oce_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_oce_oce_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OceInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ocvp/byol/zz_controller.go b/internal/controller/cluster/ocvp/byol/zz_controller.go index 9145fa319..47fda18cd 100755 --- a/internal/controller/cluster/ocvp/byol/zz_controller.go +++ b/internal/controller/cluster/ocvp/byol/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Byol_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Byol_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Byol_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Byol_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_byol"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_byol"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Byol_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ocvp/byolallocation/zz_controller.go b/internal/controller/cluster/ocvp/byolallocation/zz_controller.go index 7c08d0ae1..c0dbb0e1d 100755 --- a/internal/controller/cluster/ocvp/byolallocation/zz_controller.go +++ b/internal/controller/cluster/ocvp/byolallocation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ByolAllocation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ByolAllocation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ByolAllocation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ByolAllocation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_byol_allocation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_byol_allocation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ByolAllocation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ocvp/cluster/zz_controller.go b/internal/controller/cluster/ocvp/cluster/zz_controller.go index d48d6ca24..5d6cb56ed 100755 --- a/internal/controller/cluster/ocvp/cluster/zz_controller.go +++ b/internal/controller/cluster/ocvp/cluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Cluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Cluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Cluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Cluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Cluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ocvp/datastore/zz_controller.go b/internal/controller/cluster/ocvp/datastore/zz_controller.go index a5328b066..b76fcce49 100755 --- a/internal/controller/cluster/ocvp/datastore/zz_controller.go +++ b/internal/controller/cluster/ocvp/datastore/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Datastore_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Datastore_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Datastore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Datastore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_datastore"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_datastore"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Datastore_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ocvp/datastorecluster/zz_controller.go b/internal/controller/cluster/ocvp/datastorecluster/zz_controller.go index b7e07ff59..885bc7b4d 100755 --- a/internal/controller/cluster/ocvp/datastorecluster/zz_controller.go +++ b/internal/controller/cluster/ocvp/datastorecluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatastoreCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatastoreCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatastoreCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatastoreCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_datastore_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_datastore_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatastoreCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ocvp/esxihost/zz_controller.go b/internal/controller/cluster/ocvp/esxihost/zz_controller.go index 546964e97..c44093abf 100755 --- a/internal/controller/cluster/ocvp/esxihost/zz_controller.go +++ b/internal/controller/cluster/ocvp/esxihost/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EsxiHost_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EsxiHost_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EsxiHost_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EsxiHost_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_esxi_host"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_esxi_host"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EsxiHost_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ocvp/managementappliance/zz_controller.go b/internal/controller/cluster/ocvp/managementappliance/zz_controller.go index db085ec3f..e210d06e5 100755 --- a/internal/controller/cluster/ocvp/managementappliance/zz_controller.go +++ b/internal/controller/cluster/ocvp/managementappliance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementAppliance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementAppliance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAppliance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAppliance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_management_appliance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_management_appliance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementAppliance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ocvp/sddc/zz_controller.go b/internal/controller/cluster/ocvp/sddc/zz_controller.go index e9ef016eb..258d6fa07 100755 --- a/internal/controller/cluster/ocvp/sddc/zz_controller.go +++ b/internal/controller/cluster/ocvp/sddc/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Sddc_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Sddc_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Sddc_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Sddc_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_sddc"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_sddc"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Sddc_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/oda/odainstance/zz_controller.go b/internal/controller/cluster/oda/odainstance/zz_controller.go index f8bec9a4d..c21d5148e 100755 --- a/internal/controller/cluster/oda/odainstance/zz_controller.go +++ b/internal/controller/cluster/oda/odainstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OdaInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OdaInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OdaInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/oda/odaprivateendpoint/zz_controller.go b/internal/controller/cluster/oda/odaprivateendpoint/zz_controller.go index e3cafbe95..f5d6a12e3 100755 --- a/internal/controller/cluster/oda/odaprivateendpoint/zz_controller.go +++ b/internal/controller/cluster/oda/odaprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OdaPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OdaPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OdaPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/oda/odaprivateendpointattachment/zz_controller.go b/internal/controller/cluster/oda/odaprivateendpointattachment/zz_controller.go index 7371675fb..288458eaf 100755 --- a/internal/controller/cluster/oda/odaprivateendpointattachment/zz_controller.go +++ b/internal/controller/cluster/oda/odaprivateendpointattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OdaPrivateEndpointAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OdaPrivateEndpointAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaPrivateEndpointAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaPrivateEndpointAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_private_endpoint_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_private_endpoint_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OdaPrivateEndpointAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/oda/odaprivateendpointscanproxy/zz_controller.go b/internal/controller/cluster/oda/odaprivateendpointscanproxy/zz_controller.go index 36a40f189..faaef4b2e 100755 --- a/internal/controller/cluster/oda/odaprivateendpointscanproxy/zz_controller.go +++ b/internal/controller/cluster/oda/odaprivateendpointscanproxy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OdaPrivateEndpointScanProxy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OdaPrivateEndpointScanProxy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaPrivateEndpointScanProxy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaPrivateEndpointScanProxy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_private_endpoint_scan_proxy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_private_endpoint_scan_proxy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OdaPrivateEndpointScanProxy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ons/notificationtopic/zz_controller.go b/internal/controller/cluster/ons/notificationtopic/zz_controller.go index 65c3a7008..e206db2d6 100755 --- a/internal/controller/cluster/ons/notificationtopic/zz_controller.go +++ b/internal/controller/cluster/ons/notificationtopic/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NotificationTopic_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NotificationTopic_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NotificationTopic_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NotificationTopic_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ons_notification_topic"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ons_notification_topic"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NotificationTopic_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ons/subscription/zz_controller.go b/internal/controller/cluster/ons/subscription/zz_controller.go index d27b9a36b..e3d915cca 100755 --- a/internal/controller/cluster/ons/subscription/zz_controller.go +++ b/internal/controller/cluster/ons/subscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Subscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Subscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ons_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ons_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Subscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opa/opainstance/zz_controller.go b/internal/controller/cluster/opa/opainstance/zz_controller.go index 07b1aa571..f19a706e7 100755 --- a/internal/controller/cluster/opa/opainstance/zz_controller.go +++ b/internal/controller/cluster/opa/opainstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OpaInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OpaInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpaInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpaInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opa_opa_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opa_opa_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OpaInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opensearch/opensearchcluster/zz_controller.go b/internal/controller/cluster/opensearch/opensearchcluster/zz_controller.go index dca2e9eee..2148a604c 100755 --- a/internal/controller/cluster/opensearch/opensearchcluster/zz_controller.go +++ b/internal/controller/cluster/opensearch/opensearchcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OpensearchCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OpensearchCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpensearchCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpensearchCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opensearch_opensearch_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opensearch_opensearch_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OpensearchCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opensearch/opensearchclusterpipeline/zz_controller.go b/internal/controller/cluster/opensearch/opensearchclusterpipeline/zz_controller.go index 19965cc3c..e1547902a 100755 --- a/internal/controller/cluster/opensearch/opensearchclusterpipeline/zz_controller.go +++ b/internal/controller/cluster/opensearch/opensearchclusterpipeline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OpensearchClusterPipeline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OpensearchClusterPipeline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpensearchClusterPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpensearchClusterPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opensearch_opensearch_cluster_pipeline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opensearch_opensearch_cluster_pipeline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OpensearchClusterPipeline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/operatoraccesscontrol/operatorcontrol/zz_controller.go b/internal/controller/cluster/operatoraccesscontrol/operatorcontrol/zz_controller.go index ecd56dbb6..4d6060e06 100755 --- a/internal/controller/cluster/operatoraccesscontrol/operatorcontrol/zz_controller.go +++ b/internal/controller/cluster/operatoraccesscontrol/operatorcontrol/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperatorControl_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperatorControl_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperatorControl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperatorControl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_operator_access_control_operator_control"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_operator_access_control_operator_control"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperatorControl_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/operatoraccesscontrol/operatorcontrolassignment/zz_controller.go b/internal/controller/cluster/operatoraccesscontrol/operatorcontrolassignment/zz_controller.go index f359ee76b..2832dc9b5 100755 --- a/internal/controller/cluster/operatoraccesscontrol/operatorcontrolassignment/zz_controller.go +++ b/internal/controller/cluster/operatoraccesscontrol/operatorcontrolassignment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperatorControlAssignment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperatorControlAssignment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperatorControlAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperatorControlAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_operator_access_control_operator_control_assignment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_operator_access_control_operator_control_assignment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperatorControlAssignment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/awrhub/zz_controller.go b/internal/controller/cluster/opsi/awrhub/zz_controller.go index 643e08754..ea427d979 100755 --- a/internal/controller/cluster/opsi/awrhub/zz_controller.go +++ b/internal/controller/cluster/opsi/awrhub/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AwrHub_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AwrHub_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AwrHub_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AwrHub_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_awr_hub"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_awr_hub"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AwrHub_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/awrhubsource/zz_controller.go b/internal/controller/cluster/opsi/awrhubsource/zz_controller.go index aa7d3d914..49d2e358d 100755 --- a/internal/controller/cluster/opsi/awrhubsource/zz_controller.go +++ b/internal/controller/cluster/opsi/awrhubsource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AwrHubSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AwrHubSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AwrHubSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AwrHubSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_awr_hub_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_awr_hub_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AwrHubSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/awrhubsourceawrhubsourcesmanagement/zz_controller.go b/internal/controller/cluster/opsi/awrhubsourceawrhubsourcesmanagement/zz_controller.go index e5e008fbf..dddb2b832 100755 --- a/internal/controller/cluster/opsi/awrhubsourceawrhubsourcesmanagement/zz_controller.go +++ b/internal/controller/cluster/opsi/awrhubsourceawrhubsourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AwrHubSourceAwrhubsourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AwrHubSourceAwrhubsourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AwrHubSourceAwrhubsourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AwrHubSourceAwrhubsourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_awr_hub_source_awrhubsources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_awr_hub_source_awrhubsources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AwrHubSourceAwrhubsourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/chargebackplan/zz_controller.go b/internal/controller/cluster/opsi/chargebackplan/zz_controller.go index 74a4f23bd..55313e4e6 100755 --- a/internal/controller/cluster/opsi/chargebackplan/zz_controller.go +++ b/internal/controller/cluster/opsi/chargebackplan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ChargebackPlan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ChargebackPlan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ChargebackPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ChargebackPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_chargeback_plan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_chargeback_plan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ChargebackPlan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/databaseinsight/zz_controller.go b/internal/controller/cluster/opsi/databaseinsight/zz_controller.go index aebf3747e..31761ef1e 100755 --- a/internal/controller/cluster/opsi/databaseinsight/zz_controller.go +++ b/internal/controller/cluster/opsi/databaseinsight/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseInsight_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseInsight_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseInsight_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseInsight_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_database_insight"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_database_insight"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseInsight_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/enterprisemanagerbridge/zz_controller.go b/internal/controller/cluster/opsi/enterprisemanagerbridge/zz_controller.go index a706f6f88..e2a3dbd46 100755 --- a/internal/controller/cluster/opsi/enterprisemanagerbridge/zz_controller.go +++ b/internal/controller/cluster/opsi/enterprisemanagerbridge/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EnterpriseManagerBridge_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EnterpriseManagerBridge_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EnterpriseManagerBridge_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EnterpriseManagerBridge_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_enterprise_manager_bridge"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_enterprise_manager_bridge"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EnterpriseManagerBridge_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/exadatainsight/zz_controller.go b/internal/controller/cluster/opsi/exadatainsight/zz_controller.go index 62a095f87..a846e1a6e 100755 --- a/internal/controller/cluster/opsi/exadatainsight/zz_controller.go +++ b/internal/controller/cluster/opsi/exadatainsight/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadataInsight_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadataInsight_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInsight_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInsight_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_exadata_insight"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_exadata_insight"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadataInsight_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/hostinsight/zz_controller.go b/internal/controller/cluster/opsi/hostinsight/zz_controller.go index 1e62209e6..89ffaafb0 100755 --- a/internal/controller/cluster/opsi/hostinsight/zz_controller.go +++ b/internal/controller/cluster/opsi/hostinsight/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.HostInsight_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.HostInsight_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HostInsight_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HostInsight_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_host_insight"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_host_insight"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.HostInsight_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/newsreport/zz_controller.go b/internal/controller/cluster/opsi/newsreport/zz_controller.go index 61418cf2c..31f3780ae 100755 --- a/internal/controller/cluster/opsi/newsreport/zz_controller.go +++ b/internal/controller/cluster/opsi/newsreport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NewsReport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NewsReport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NewsReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NewsReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_news_report"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_news_report"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NewsReport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/operationsinsightsprivateendpoint/zz_controller.go b/internal/controller/cluster/opsi/operationsinsightsprivateendpoint/zz_controller.go index c3909385b..e8fa5f8e9 100755 --- a/internal/controller/cluster/opsi/operationsinsightsprivateendpoint/zz_controller.go +++ b/internal/controller/cluster/opsi/operationsinsightsprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperationsInsightsPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperationsInsightsPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperationsInsightsPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/operationsinsightswarehouse/zz_controller.go b/internal/controller/cluster/opsi/operationsinsightswarehouse/zz_controller.go index 5933bbfa5..08ce0e793 100755 --- a/internal/controller/cluster/opsi/operationsinsightswarehouse/zz_controller.go +++ b/internal/controller/cluster/opsi/operationsinsightswarehouse/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperationsInsightsWarehouse_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperationsInsightsWarehouse_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouse_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouse_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperationsInsightsWarehouse_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/operationsinsightswarehousedownloadwarehousewallet/zz_controller.go b/internal/controller/cluster/opsi/operationsinsightswarehousedownloadwarehousewallet/zz_controller.go index 2cbf7ec97..f3cc27696 100755 --- a/internal/controller/cluster/opsi/operationsinsightswarehousedownloadwarehousewallet/zz_controller.go +++ b/internal/controller/cluster/opsi/operationsinsightswarehousedownloadwarehousewallet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperationsInsightsWarehouseDownloadWarehouseWallet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperationsInsightsWarehouseDownloadWarehouseWallet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouseDownloadWarehouseWallet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouseDownloadWarehouseWallet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse_download_warehouse_wallet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse_download_warehouse_wallet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperationsInsightsWarehouseDownloadWarehouseWallet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/operationsinsightswarehouserotatewarehousewallet/zz_controller.go b/internal/controller/cluster/opsi/operationsinsightswarehouserotatewarehousewallet/zz_controller.go index f18f7a078..7aaf59d0c 100755 --- a/internal/controller/cluster/opsi/operationsinsightswarehouserotatewarehousewallet/zz_controller.go +++ b/internal/controller/cluster/opsi/operationsinsightswarehouserotatewarehousewallet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperationsInsightsWarehouseRotateWarehouseWallet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperationsInsightsWarehouseRotateWarehouseWallet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouseRotateWarehouseWallet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouseRotateWarehouseWallet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse_rotate_warehouse_wallet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse_rotate_warehouse_wallet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperationsInsightsWarehouseRotateWarehouseWallet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/operationsinsightswarehouseuser/zz_controller.go b/internal/controller/cluster/opsi/operationsinsightswarehouseuser/zz_controller.go index 057b29d2f..defe37743 100755 --- a/internal/controller/cluster/opsi/operationsinsightswarehouseuser/zz_controller.go +++ b/internal/controller/cluster/opsi/operationsinsightswarehouseuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperationsInsightsWarehouseUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperationsInsightsWarehouseUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouseUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouseUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperationsInsightsWarehouseUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/opsi/opsiconfiguration/zz_controller.go b/internal/controller/cluster/opsi/opsiconfiguration/zz_controller.go index c615ec9a4..d8ea4566d 100755 --- a/internal/controller/cluster/opsi/opsiconfiguration/zz_controller.go +++ b/internal/controller/cluster/opsi/opsiconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OpsiConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OpsiConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpsiConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpsiConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_opsi_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_opsi_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OpsiConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/optimizer/enrollmentstatus/zz_controller.go b/internal/controller/cluster/optimizer/enrollmentstatus/zz_controller.go index cd195298e..1c961a90e 100755 --- a/internal/controller/cluster/optimizer/enrollmentstatus/zz_controller.go +++ b/internal/controller/cluster/optimizer/enrollmentstatus/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EnrollmentStatus_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EnrollmentStatus_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EnrollmentStatus_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EnrollmentStatus_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_optimizer_enrollment_status"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_optimizer_enrollment_status"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EnrollmentStatus_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/optimizer/profile/zz_controller.go b/internal/controller/cluster/optimizer/profile/zz_controller.go index 3f040a932..2638ddbc4 100755 --- a/internal/controller/cluster/optimizer/profile/zz_controller.go +++ b/internal/controller/cluster/optimizer/profile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Profile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Profile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Profile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Profile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_optimizer_profile"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_optimizer_profile"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Profile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/optimizer/recommendation/zz_controller.go b/internal/controller/cluster/optimizer/recommendation/zz_controller.go index 2d3b5ec1e..632a26544 100755 --- a/internal/controller/cluster/optimizer/recommendation/zz_controller.go +++ b/internal/controller/cluster/optimizer/recommendation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Recommendation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Recommendation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Recommendation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Recommendation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_optimizer_recommendation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_optimizer_recommendation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Recommendation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/optimizer/resourceaction/zz_controller.go b/internal/controller/cluster/optimizer/resourceaction/zz_controller.go index b5dbdc0e7..d0051162d 100755 --- a/internal/controller/cluster/optimizer/resourceaction/zz_controller.go +++ b/internal/controller/cluster/optimizer/resourceaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ResourceAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ResourceAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResourceAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResourceAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_optimizer_resource_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_optimizer_resource_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ResourceAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/dynamicset/zz_controller.go b/internal/controller/cluster/osmanagementhub/dynamicset/zz_controller.go index b8ea16cee..6d24469e2 100755 --- a/internal/controller/cluster/osmanagementhub/dynamicset/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/dynamicset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/dynamicsetinstallpackagesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/dynamicsetinstallpackagesmanagement/zz_controller.go index 2551be5d9..2e667a0f7 100755 --- a/internal/controller/cluster/osmanagementhub/dynamicsetinstallpackagesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/dynamicsetinstallpackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicSetInstallPackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicSetInstallPackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetInstallPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetInstallPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_install_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_install_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicSetInstallPackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/dynamicsetrebootmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/dynamicsetrebootmanagement/zz_controller.go index 37248742e..2e1497066 100755 --- a/internal/controller/cluster/osmanagementhub/dynamicsetrebootmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/dynamicsetrebootmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicSetRebootManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicSetRebootManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_reboot_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_reboot_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicSetRebootManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/dynamicsetremovepackagesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/dynamicsetremovepackagesmanagement/zz_controller.go index cea0f4e9b..559a06dcd 100755 --- a/internal/controller/cluster/osmanagementhub/dynamicsetremovepackagesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/dynamicsetremovepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicSetRemovePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicSetRemovePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_remove_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_remove_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicSetRemovePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/dynamicsetupdatepackagesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/dynamicsetupdatepackagesmanagement/zz_controller.go index 4e5b9266e..a602ac22e 100755 --- a/internal/controller/cluster/osmanagementhub/dynamicsetupdatepackagesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/dynamicsetupdatepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicSetUpdatePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicSetUpdatePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetUpdatePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetUpdatePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_update_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_update_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicSetUpdatePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/event/zz_controller.go b/internal/controller/cluster/osmanagementhub/event/zz_controller.go index 452b6fcd8..b8ddaa0d4 100755 --- a/internal/controller/cluster/osmanagementhub/event/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/event/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Event_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Event_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Event_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Event_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_event"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_event"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Event_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/lifecycleenvironment/zz_controller.go b/internal/controller/cluster/osmanagementhub/lifecycleenvironment/zz_controller.go index a6f023c02..89fe686df 100755 --- a/internal/controller/cluster/osmanagementhub/lifecycleenvironment/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/lifecycleenvironment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LifecycleEnvironment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LifecycleEnvironment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_environment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_environment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LifecycleEnvironment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/lifecyclestageattachmanagedinstancesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/lifecyclestageattachmanagedinstancesmanagement/zz_controller.go index ccda737bb..1b210de95 100755 --- a/internal/controller/cluster/osmanagementhub/lifecyclestageattachmanagedinstancesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/lifecyclestageattachmanagedinstancesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LifecycleStageAttachManagedInstancesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LifecycleStageAttachManagedInstancesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStageAttachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStageAttachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_attach_managed_instances_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_attach_managed_instances_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LifecycleStageAttachManagedInstancesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/lifecyclestagedetachmanagedinstancesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/lifecyclestagedetachmanagedinstancesmanagement/zz_controller.go index 3e337abc1..1aff22889 100755 --- a/internal/controller/cluster/osmanagementhub/lifecyclestagedetachmanagedinstancesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/lifecyclestagedetachmanagedinstancesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LifecycleStageDetachManagedInstancesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LifecycleStageDetachManagedInstancesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStageDetachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStageDetachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_detach_managed_instances_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_detach_managed_instances_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LifecycleStageDetachManagedInstancesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/lifecyclestagepromotesoftwaresourcemanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/lifecyclestagepromotesoftwaresourcemanagement/zz_controller.go index ae1d57685..36ab40e62 100755 --- a/internal/controller/cluster/osmanagementhub/lifecyclestagepromotesoftwaresourcemanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/lifecyclestagepromotesoftwaresourcemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LifecycleStagePromoteSoftwareSourceManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LifecycleStagePromoteSoftwareSourceManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStagePromoteSoftwareSourceManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStagePromoteSoftwareSourceManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_promote_software_source_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_promote_software_source_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LifecycleStagePromoteSoftwareSourceManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/lifecyclestagerebootmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/lifecyclestagerebootmanagement/zz_controller.go index d6ba47756..4c9f4891d 100755 --- a/internal/controller/cluster/osmanagementhub/lifecyclestagerebootmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/lifecyclestagerebootmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LifecycleStageRebootManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LifecycleStageRebootManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStageRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStageRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_reboot_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_reboot_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LifecycleStageRebootManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstance/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstance/zz_controller.go index c7697e17e..e0774ef69 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstance/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstanceattachprofilemanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstanceattachprofilemanagement/zz_controller.go index 345219c15..5d533064f 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstanceattachprofilemanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstanceattachprofilemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceAttachProfileManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceAttachProfileManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceAttachProfileManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceAttachProfileManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_attach_profile_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_attach_profile_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceAttachProfileManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstanceattachsoftwaresourcesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstanceattachsoftwaresourcesmanagement/zz_controller.go index 7bcf64f48..a03ac7c16 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstanceattachsoftwaresourcesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstanceattachsoftwaresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceAttachSoftwareSourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceAttachSoftwareSourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceAttachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceAttachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_attach_software_sources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_attach_software_sources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceAttachSoftwareSourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancedetachprofilemanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancedetachprofilemanagement/zz_controller.go index 5861f1722..24b76ccd1 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancedetachprofilemanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancedetachprofilemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceDetachProfileManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceDetachProfileManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceDetachProfileManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceDetachProfileManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_detach_profile_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_detach_profile_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceDetachProfileManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancedetachsoftwaresourcesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancedetachsoftwaresourcesmanagement/zz_controller.go index 393cc2f6f..d9cdfea59 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancedetachsoftwaresourcesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancedetachsoftwaresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceDetachSoftwareSourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceDetachSoftwareSourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceDetachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceDetachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_detach_software_sources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_detach_software_sources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceDetachSoftwareSourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancegroup/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancegroup/zz_controller.go index f6963586b..bccb2ac97 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancegroup/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancegroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancegroupattachmanagedinstancesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancegroupattachmanagedinstancesmanagement/zz_controller.go index ac3f72f7e..55af52e55 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancegroupattachmanagedinstancesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancegroupattachmanagedinstancesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupAttachManagedInstancesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupAttachManagedInstancesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupAttachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupAttachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_attach_managed_instances_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_attach_managed_instances_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupAttachManagedInstancesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancegroupattachsoftwaresourcesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancegroupattachsoftwaresourcesmanagement/zz_controller.go index 2e09a97a4..f9f4caf0e 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancegroupattachsoftwaresourcesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancegroupattachsoftwaresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupAttachSoftwareSourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupAttachSoftwareSourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupAttachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupAttachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_attach_software_sources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_attach_software_sources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupAttachSoftwareSourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancegroupdetachmanagedinstancesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancegroupdetachmanagedinstancesmanagement/zz_controller.go index 4f36e582a..753a5bcec 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancegroupdetachmanagedinstancesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancegroupdetachmanagedinstancesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupDetachManagedInstancesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupDetachManagedInstancesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupDetachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupDetachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_detach_managed_instances_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_detach_managed_instances_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupDetachManagedInstancesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancegroupdetachsoftwaresourcesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancegroupdetachsoftwaresourcesmanagement/zz_controller.go index e68eece5b..6a3b84555 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancegroupdetachsoftwaresourcesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancegroupdetachsoftwaresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupDetachSoftwareSourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupDetachSoftwareSourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupDetachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupDetachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_detach_software_sources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_detach_software_sources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupDetachSoftwareSourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancegroupinstallpackagesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancegroupinstallpackagesmanagement/zz_controller.go index 1d4fdfa03..a353d9661 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancegroupinstallpackagesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancegroupinstallpackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupInstallPackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupInstallPackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupInstallPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupInstallPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_install_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_install_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupInstallPackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancegroupinstallwindowsupdatesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancegroupinstallwindowsupdatesmanagement/zz_controller.go index 2bcf0d500..941491ae6 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancegroupinstallwindowsupdatesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancegroupinstallwindowsupdatesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupInstallWindowsUpdatesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupInstallWindowsUpdatesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupInstallWindowsUpdatesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupInstallWindowsUpdatesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_install_windows_updates_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_install_windows_updates_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupInstallWindowsUpdatesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancegroupmanagemodulestreamsmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancegroupmanagemodulestreamsmanagement/zz_controller.go index 5c52d233a..637162ba2 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancegroupmanagemodulestreamsmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancegroupmanagemodulestreamsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupManageModuleStreamsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupManageModuleStreamsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupManageModuleStreamsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupManageModuleStreamsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_manage_module_streams_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_manage_module_streams_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupManageModuleStreamsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancegrouprebootmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancegrouprebootmanagement/zz_controller.go index 2ad8e0b57..198c7c408 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancegrouprebootmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancegrouprebootmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupRebootManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupRebootManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_reboot_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_reboot_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupRebootManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancegroupremovepackagesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancegroupremovepackagesmanagement/zz_controller.go index b256c0606..d99a98c5b 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancegroupremovepackagesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancegroupremovepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupRemovePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupRemovePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_remove_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_remove_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupRemovePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancegroupupdateallpackagesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancegroupupdateallpackagesmanagement/zz_controller.go index aaa1ef686..633e7cd3a 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancegroupupdateallpackagesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancegroupupdateallpackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupUpdateAllPackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupUpdateAllPackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupUpdateAllPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupUpdateAllPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_update_all_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_update_all_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupUpdateAllPackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstanceinstallpackagesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstanceinstallpackagesmanagement/zz_controller.go index 538120c29..8cc01e5fd 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstanceinstallpackagesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstanceinstallpackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceInstallPackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceInstallPackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceInstallPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceInstallPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_install_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_install_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceInstallPackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstanceinstallsnapsmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstanceinstallsnapsmanagement/zz_controller.go index f3af0b682..7bf555207 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstanceinstallsnapsmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstanceinstallsnapsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceInstallSnapsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceInstallSnapsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceInstallSnapsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceInstallSnapsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_install_snaps_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_install_snaps_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceInstallSnapsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstanceinstallwindowsupdatesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstanceinstallwindowsupdatesmanagement/zz_controller.go index 02fbbb66b..78e05e024 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstanceinstallwindowsupdatesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstanceinstallwindowsupdatesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceInstallWindowsUpdatesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceInstallWindowsUpdatesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceInstallWindowsUpdatesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceInstallWindowsUpdatesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_install_windows_updates_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_install_windows_updates_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceInstallWindowsUpdatesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancerebootmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancerebootmanagement/zz_controller.go index ca36d796d..8bff5a470 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancerebootmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancerebootmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceRebootManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceRebootManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_reboot_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_reboot_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceRebootManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancerefreshsoftwaremanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancerefreshsoftwaremanagement/zz_controller.go index 303a33b88..4e91c0ab9 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancerefreshsoftwaremanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancerefreshsoftwaremanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceRefreshSoftwareManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceRefreshSoftwareManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRefreshSoftwareManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRefreshSoftwareManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_refresh_software_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_refresh_software_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceRefreshSoftwareManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstanceremovepackagesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstanceremovepackagesmanagement/zz_controller.go index 5dad9186f..904421ff1 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstanceremovepackagesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstanceremovepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceRemovePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceRemovePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_remove_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_remove_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceRemovePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstanceremovesnapsmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstanceremovesnapsmanagement/zz_controller.go index 9dc1667f7..0c7124d65 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstanceremovesnapsmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstanceremovesnapsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceRemoveSnapsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceRemoveSnapsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRemoveSnapsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRemoveSnapsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_remove_snaps_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_remove_snaps_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceRemoveSnapsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancesinstallwindowsupdatesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancesinstallwindowsupdatesmanagement/zz_controller.go index 3c31359aa..473308a94 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancesinstallwindowsupdatesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancesinstallwindowsupdatesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstancesInstallWindowsUpdatesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstancesInstallWindowsUpdatesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstancesInstallWindowsUpdatesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstancesInstallWindowsUpdatesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instances_install_windows_updates_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instances_install_windows_updates_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstancesInstallWindowsUpdatesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstancesupdatepackagesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstancesupdatepackagesmanagement/zz_controller.go index 4203460bf..014f38ffa 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstancesupdatepackagesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstancesupdatepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstancesUpdatePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstancesUpdatePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstancesUpdatePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstancesUpdatePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instances_update_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instances_update_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstancesUpdatePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstanceswitchsnapchannelmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstanceswitchsnapchannelmanagement/zz_controller.go index f8db49ecf..40beef023 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstanceswitchsnapchannelmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstanceswitchsnapchannelmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceSwitchSnapChannelManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceSwitchSnapChannelManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceSwitchSnapChannelManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceSwitchSnapChannelManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_switch_snap_channel_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_switch_snap_channel_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceSwitchSnapChannelManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managedinstanceupdatepackagesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managedinstanceupdatepackagesmanagement/zz_controller.go index c5e229773..c3e2a194d 100755 --- a/internal/controller/cluster/osmanagementhub/managedinstanceupdatepackagesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managedinstanceupdatepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceUpdatePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceUpdatePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceUpdatePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceUpdatePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_update_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_update_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceUpdatePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managementstation/zz_controller.go b/internal/controller/cluster/osmanagementhub/managementstation/zz_controller.go index c17f3bf26..0eba150fc 100755 --- a/internal/controller/cluster/osmanagementhub/managementstation/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managementstation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementStation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementStation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementStation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managementstationassociatemanagedinstancesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managementstationassociatemanagedinstancesmanagement/zz_controller.go index 42e4e4aa8..0d2f809b9 100755 --- a/internal/controller/cluster/osmanagementhub/managementstationassociatemanagedinstancesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managementstationassociatemanagedinstancesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementStationAssociateManagedInstancesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementStationAssociateManagedInstancesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationAssociateManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationAssociateManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_associate_managed_instances_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_associate_managed_instances_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementStationAssociateManagedInstancesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managementstationmirrorsynchronizemanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managementstationmirrorsynchronizemanagement/zz_controller.go index a554c6abd..f52e01f9d 100755 --- a/internal/controller/cluster/osmanagementhub/managementstationmirrorsynchronizemanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managementstationmirrorsynchronizemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementStationMirrorSynchronizeManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementStationMirrorSynchronizeManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationMirrorSynchronizeManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationMirrorSynchronizeManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_mirror_synchronize_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_mirror_synchronize_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementStationMirrorSynchronizeManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managementstationrefreshmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managementstationrefreshmanagement/zz_controller.go index c04828541..2f8d457a2 100755 --- a/internal/controller/cluster/osmanagementhub/managementstationrefreshmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managementstationrefreshmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementStationRefreshManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementStationRefreshManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationRefreshManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationRefreshManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_refresh_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_refresh_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementStationRefreshManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/managementstationsynchronizemirrorsmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/managementstationsynchronizemirrorsmanagement/zz_controller.go index 12c5107fe..0bbac1b99 100755 --- a/internal/controller/cluster/osmanagementhub/managementstationsynchronizemirrorsmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/managementstationsynchronizemirrorsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementStationSynchronizeMirrorsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementStationSynchronizeMirrorsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationSynchronizeMirrorsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationSynchronizeMirrorsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_synchronize_mirrors_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_synchronize_mirrors_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementStationSynchronizeMirrorsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/profile/zz_controller.go b/internal/controller/cluster/osmanagementhub/profile/zz_controller.go index e68d72018..a82d5aebe 100755 --- a/internal/controller/cluster/osmanagementhub/profile/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/profile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Profile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Profile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Profile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Profile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Profile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/profileattachlifecyclestagemanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/profileattachlifecyclestagemanagement/zz_controller.go index 78ac79a7c..37bc5a0af 100755 --- a/internal/controller/cluster/osmanagementhub/profileattachlifecyclestagemanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/profileattachlifecyclestagemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProfileAttachLifecycleStageManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProfileAttachLifecycleStageManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachLifecycleStageManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachLifecycleStageManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_lifecycle_stage_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_lifecycle_stage_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProfileAttachLifecycleStageManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/profileattachmanagedinstancegroupmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/profileattachmanagedinstancegroupmanagement/zz_controller.go index 1bcdaafcd..aa11d4c51 100755 --- a/internal/controller/cluster/osmanagementhub/profileattachmanagedinstancegroupmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/profileattachmanagedinstancegroupmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProfileAttachManagedInstanceGroupManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProfileAttachManagedInstanceGroupManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachManagedInstanceGroupManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachManagedInstanceGroupManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_managed_instance_group_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_managed_instance_group_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProfileAttachManagedInstanceGroupManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/profileattachmanagementstationmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/profileattachmanagementstationmanagement/zz_controller.go index 0adf4bfe0..c942415c9 100755 --- a/internal/controller/cluster/osmanagementhub/profileattachmanagementstationmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/profileattachmanagementstationmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProfileAttachManagementStationManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProfileAttachManagementStationManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachManagementStationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachManagementStationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_management_station_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_management_station_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProfileAttachManagementStationManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/profileattachsoftwaresourcesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/profileattachsoftwaresourcesmanagement/zz_controller.go index 085488515..df4ee9591 100755 --- a/internal/controller/cluster/osmanagementhub/profileattachsoftwaresourcesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/profileattachsoftwaresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProfileAttachSoftwareSourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProfileAttachSoftwareSourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_software_sources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_software_sources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProfileAttachSoftwareSourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/profiledetachmanagementstationmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/profiledetachmanagementstationmanagement/zz_controller.go index 9c8075d1e..47be6b6bf 100755 --- a/internal/controller/cluster/osmanagementhub/profiledetachmanagementstationmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/profiledetachmanagementstationmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProfileDetachManagementStationManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProfileDetachManagementStationManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileDetachManagementStationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileDetachManagementStationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_detach_management_station_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_detach_management_station_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProfileDetachManagementStationManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/profiledetachsoftwaresourcesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/profiledetachsoftwaresourcesmanagement/zz_controller.go index f40566e83..17086b3ae 100755 --- a/internal/controller/cluster/osmanagementhub/profiledetachsoftwaresourcesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/profiledetachsoftwaresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProfileDetachSoftwareSourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProfileDetachSoftwareSourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileDetachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileDetachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_detach_software_sources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_detach_software_sources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProfileDetachSoftwareSourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/scheduledjob/zz_controller.go b/internal/controller/cluster/osmanagementhub/scheduledjob/zz_controller.go index 8af7c70c9..3a263a70a 100755 --- a/internal/controller/cluster/osmanagementhub/scheduledjob/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/scheduledjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ScheduledJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ScheduledJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ScheduledJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ScheduledJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_scheduled_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_scheduled_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ScheduledJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/softwaresource/zz_controller.go b/internal/controller/cluster/osmanagementhub/softwaresource/zz_controller.go index a2a8e7fc4..b384c6ad2 100755 --- a/internal/controller/cluster/osmanagementhub/softwaresource/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/softwaresource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/softwaresourceaddpackagesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/softwaresourceaddpackagesmanagement/zz_controller.go index a4fb4d7fc..dc667ea26 100755 --- a/internal/controller/cluster/osmanagementhub/softwaresourceaddpackagesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/softwaresourceaddpackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSourceAddPackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSourceAddPackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceAddPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceAddPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_add_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_add_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSourceAddPackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/softwaresourcechangeavailabilitymanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/softwaresourcechangeavailabilitymanagement/zz_controller.go index c09e4f93e..8e202cfdb 100755 --- a/internal/controller/cluster/osmanagementhub/softwaresourcechangeavailabilitymanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/softwaresourcechangeavailabilitymanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSourceChangeAvailabilityManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSourceChangeAvailabilityManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceChangeAvailabilityManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceChangeAvailabilityManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_change_availability_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_change_availability_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSourceChangeAvailabilityManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/softwaresourcegeneratemetadatamanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/softwaresourcegeneratemetadatamanagement/zz_controller.go index 33b1a24c0..f39284915 100755 --- a/internal/controller/cluster/osmanagementhub/softwaresourcegeneratemetadatamanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/softwaresourcegeneratemetadatamanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSourceGenerateMetadataManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSourceGenerateMetadataManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceGenerateMetadataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceGenerateMetadataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_generate_metadata_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_generate_metadata_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSourceGenerateMetadataManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/softwaresourcemanifest/zz_controller.go b/internal/controller/cluster/osmanagementhub/softwaresourcemanifest/zz_controller.go index a263c6ca7..99eaab6aa 100755 --- a/internal/controller/cluster/osmanagementhub/softwaresourcemanifest/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/softwaresourcemanifest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSourceManifest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSourceManifest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceManifest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceManifest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_manifest"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_manifest"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSourceManifest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/softwaresourceremovepackagesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/softwaresourceremovepackagesmanagement/zz_controller.go index 22abb01c4..aa04ce163 100755 --- a/internal/controller/cluster/osmanagementhub/softwaresourceremovepackagesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/softwaresourceremovepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSourceRemovePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSourceRemovePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_remove_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_remove_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSourceRemovePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/softwaresourcereplacepackagesmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/softwaresourcereplacepackagesmanagement/zz_controller.go index 1b79a9482..4b4f2555c 100755 --- a/internal/controller/cluster/osmanagementhub/softwaresourcereplacepackagesmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/softwaresourcereplacepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSourceReplacePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSourceReplacePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceReplacePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceReplacePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_replace_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_replace_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSourceReplacePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/osmanagementhub/workrequestrerunmanagement/zz_controller.go b/internal/controller/cluster/osmanagementhub/workrequestrerunmanagement/zz_controller.go index ce8bf6a4f..5ca0e00dc 100755 --- a/internal/controller/cluster/osmanagementhub/workrequestrerunmanagement/zz_controller.go +++ b/internal/controller/cluster/osmanagementhub/workrequestrerunmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkRequestRerunManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkRequestRerunManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkRequestRerunManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkRequestRerunManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_work_request_rerun_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_work_request_rerun_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkRequestRerunManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ospgateway/addressactionverification/zz_controller.go b/internal/controller/cluster/ospgateway/addressactionverification/zz_controller.go index a26875f0c..c7b85c1a2 100755 --- a/internal/controller/cluster/ospgateway/addressactionverification/zz_controller.go +++ b/internal/controller/cluster/ospgateway/addressactionverification/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AddressActionVerification_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AddressActionVerification_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AddressActionVerification_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AddressActionVerification_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_osp_gateway_address_action_verification"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_osp_gateway_address_action_verification"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AddressActionVerification_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/ospgateway/subscription/zz_controller.go b/internal/controller/cluster/ospgateway/subscription/zz_controller.go index 3f92802ab..e2cae9aaa 100755 --- a/internal/controller/cluster/ospgateway/subscription/zz_controller.go +++ b/internal/controller/cluster/ospgateway/subscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Subscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Subscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_osp_gateway_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_osp_gateway_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Subscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/psa/privateserviceaccess/zz_controller.go b/internal/controller/cluster/psa/privateserviceaccess/zz_controller.go index 0491f00da..a8ec9c0c7 100755 --- a/internal/controller/cluster/psa/privateserviceaccess/zz_controller.go +++ b/internal/controller/cluster/psa/privateserviceaccess/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateServiceAccess_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateServiceAccess_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateServiceAccess_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateServiceAccess_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_psa_private_service_access"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_psa_private_service_access"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateServiceAccess_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/psql/psqlbackup/zz_controller.go b/internal/controller/cluster/psql/psqlbackup/zz_controller.go index cf8b3a5b8..e2b60a291 100755 --- a/internal/controller/cluster/psql/psqlbackup/zz_controller.go +++ b/internal/controller/cluster/psql/psqlbackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PsqlBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PsqlBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PsqlBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PsqlBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_psql_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_psql_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PsqlBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/psql/psqlconfiguration/zz_controller.go b/internal/controller/cluster/psql/psqlconfiguration/zz_controller.go index ca9922a11..49008b639 100755 --- a/internal/controller/cluster/psql/psqlconfiguration/zz_controller.go +++ b/internal/controller/cluster/psql/psqlconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PsqlConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PsqlConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PsqlConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PsqlConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_psql_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_psql_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PsqlConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/psql/psqldbsystem/zz_controller.go b/internal/controller/cluster/psql/psqldbsystem/zz_controller.go index 2a863acd7..04dbc2a05 100755 --- a/internal/controller/cluster/psql/psqldbsystem/zz_controller.go +++ b/internal/controller/cluster/psql/psqldbsystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PsqlDbSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PsqlDbSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PsqlDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PsqlDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_psql_db_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_psql_db_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PsqlDbSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/queue/consumergroup/zz_controller.go b/internal/controller/cluster/queue/consumergroup/zz_controller.go index e3ca266d6..a130688b3 100755 --- a/internal/controller/cluster/queue/consumergroup/zz_controller.go +++ b/internal/controller/cluster/queue/consumergroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConsumerGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ConsumerGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConsumerGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConsumerGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_queue_consumer_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_queue_consumer_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ConsumerGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/queue/queue/zz_controller.go b/internal/controller/cluster/queue/queue/zz_controller.go index af4d71054..7d45bab0f 100755 --- a/internal/controller/cluster/queue/queue/zz_controller.go +++ b/internal/controller/cluster/queue/queue/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Queue_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Queue_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Queue_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Queue_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_queue_queue"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_queue_queue"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Queue_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/recovery/protecteddatabase/zz_controller.go b/internal/controller/cluster/recovery/protecteddatabase/zz_controller.go index 5da4a0c13..b2ad20791 100755 --- a/internal/controller/cluster/recovery/protecteddatabase/zz_controller.go +++ b/internal/controller/cluster/recovery/protecteddatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProtectedDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProtectedDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProtectedDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProtectedDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_recovery_protected_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_recovery_protected_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProtectedDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/recovery/protectionpolicy/zz_controller.go b/internal/controller/cluster/recovery/protectionpolicy/zz_controller.go index 18441ffed..8f05f2c9b 100755 --- a/internal/controller/cluster/recovery/protectionpolicy/zz_controller.go +++ b/internal/controller/cluster/recovery/protectionpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProtectionPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProtectionPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProtectionPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProtectionPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_recovery_protection_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_recovery_protection_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProtectionPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/recovery/recoveryservicesubnet/zz_controller.go b/internal/controller/cluster/recovery/recoveryservicesubnet/zz_controller.go index 2b9addac4..999c9d5c7 100755 --- a/internal/controller/cluster/recovery/recoveryservicesubnet/zz_controller.go +++ b/internal/controller/cluster/recovery/recoveryservicesubnet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RecoveryServiceSubnet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RecoveryServiceSubnet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RecoveryServiceSubnet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RecoveryServiceSubnet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_recovery_recovery_service_subnet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_recovery_recovery_service_subnet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RecoveryServiceSubnet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/redis/ocicachebackup/zz_controller.go b/internal/controller/cluster/redis/ocicachebackup/zz_controller.go index 9864042e8..553e760c9 100755 --- a/internal/controller/cluster/redis/ocicachebackup/zz_controller.go +++ b/internal/controller/cluster/redis/ocicachebackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OciCacheBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OciCacheBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OciCacheBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/redis/ocicachebackupexporttoobjectstorage/zz_controller.go b/internal/controller/cluster/redis/ocicachebackupexporttoobjectstorage/zz_controller.go index 32eb6cc6d..501e44be9 100755 --- a/internal/controller/cluster/redis/ocicachebackupexporttoobjectstorage/zz_controller.go +++ b/internal/controller/cluster/redis/ocicachebackupexporttoobjectstorage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OciCacheBackupExportToObjectStorage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OciCacheBackupExportToObjectStorage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheBackupExportToObjectStorage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheBackupExportToObjectStorage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_backup_export_to_object_storage"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_backup_export_to_object_storage"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OciCacheBackupExportToObjectStorage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/redis/ocicacheconfigset/zz_controller.go b/internal/controller/cluster/redis/ocicacheconfigset/zz_controller.go index 4b72ed73d..96ec666ca 100755 --- a/internal/controller/cluster/redis/ocicacheconfigset/zz_controller.go +++ b/internal/controller/cluster/redis/ocicacheconfigset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OciCacheConfigSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OciCacheConfigSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheConfigSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheConfigSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_config_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_config_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OciCacheConfigSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/redis/ocicacheconfigsetlistassociatedocicachecluster/zz_controller.go b/internal/controller/cluster/redis/ocicacheconfigsetlistassociatedocicachecluster/zz_controller.go index 8d7e0303c..f825b350f 100755 --- a/internal/controller/cluster/redis/ocicacheconfigsetlistassociatedocicachecluster/zz_controller.go +++ b/internal/controller/cluster/redis/ocicacheconfigsetlistassociatedocicachecluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OciCacheConfigSetlistAssociatedOciCacheCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OciCacheConfigSetlistAssociatedOciCacheCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheConfigSetlistAssociatedOciCacheCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheConfigSetlistAssociatedOciCacheCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_config_setlist_associated_oci_cache_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_config_setlist_associated_oci_cache_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OciCacheConfigSetlistAssociatedOciCacheCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/redis/ocicacheuser/zz_controller.go b/internal/controller/cluster/redis/ocicacheuser/zz_controller.go index a43114558..33d8e725d 100755 --- a/internal/controller/cluster/redis/ocicacheuser/zz_controller.go +++ b/internal/controller/cluster/redis/ocicacheuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OciCacheUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OciCacheUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OciCacheUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/redis/ocicacheusergetrediscluster/zz_controller.go b/internal/controller/cluster/redis/ocicacheusergetrediscluster/zz_controller.go index c5598e509..cbea269a4 100755 --- a/internal/controller/cluster/redis/ocicacheusergetrediscluster/zz_controller.go +++ b/internal/controller/cluster/redis/ocicacheusergetrediscluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OciCacheUserGetRedisCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OciCacheUserGetRedisCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheUserGetRedisCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheUserGetRedisCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_user_get_redis_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_user_get_redis_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OciCacheUserGetRedisCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/redis/rediscluster/zz_controller.go b/internal/controller/cluster/redis/rediscluster/zz_controller.go index 7159a9c63..ab7c6c48a 100755 --- a/internal/controller/cluster/redis/rediscluster/zz_controller.go +++ b/internal/controller/cluster/redis/rediscluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RedisCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RedisCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RedisCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/redis/redisclusterattachocicacheuser/zz_controller.go b/internal/controller/cluster/redis/redisclusterattachocicacheuser/zz_controller.go index 91a3beaa7..c159608ab 100755 --- a/internal/controller/cluster/redis/redisclusterattachocicacheuser/zz_controller.go +++ b/internal/controller/cluster/redis/redisclusterattachocicacheuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RedisClusterAttachOciCacheUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RedisClusterAttachOciCacheUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterAttachOciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterAttachOciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_attach_oci_cache_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_attach_oci_cache_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RedisClusterAttachOciCacheUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/redis/redisclustercreateidentitytoken/zz_controller.go b/internal/controller/cluster/redis/redisclustercreateidentitytoken/zz_controller.go index c17decd8b..816b8b323 100755 --- a/internal/controller/cluster/redis/redisclustercreateidentitytoken/zz_controller.go +++ b/internal/controller/cluster/redis/redisclustercreateidentitytoken/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RedisClusterCreateIdentityToken_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RedisClusterCreateIdentityToken_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterCreateIdentityToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterCreateIdentityToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_create_identity_token"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_create_identity_token"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RedisClusterCreateIdentityToken_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/redis/redisclusterdetachocicacheuser/zz_controller.go b/internal/controller/cluster/redis/redisclusterdetachocicacheuser/zz_controller.go index 9b12d2c70..ecfaca6f6 100755 --- a/internal/controller/cluster/redis/redisclusterdetachocicacheuser/zz_controller.go +++ b/internal/controller/cluster/redis/redisclusterdetachocicacheuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RedisClusterDetachOciCacheUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RedisClusterDetachOciCacheUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterDetachOciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterDetachOciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_detach_oci_cache_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_detach_oci_cache_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RedisClusterDetachOciCacheUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/redis/redisclustergetocicacheuser/zz_controller.go b/internal/controller/cluster/redis/redisclustergetocicacheuser/zz_controller.go index a9797beff..d45c127f1 100755 --- a/internal/controller/cluster/redis/redisclustergetocicacheuser/zz_controller.go +++ b/internal/controller/cluster/redis/redisclustergetocicacheuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RedisClusterGetOciCacheUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RedisClusterGetOciCacheUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterGetOciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterGetOciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_get_oci_cache_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_get_oci_cache_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RedisClusterGetOciCacheUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/resourceanalytics/monitoredregion/zz_controller.go b/internal/controller/cluster/resourceanalytics/monitoredregion/zz_controller.go index c824f8286..b5e7fb46c 100755 --- a/internal/controller/cluster/resourceanalytics/monitoredregion/zz_controller.go +++ b/internal/controller/cluster/resourceanalytics/monitoredregion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredRegion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredRegion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredRegion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredRegion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_monitored_region"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_monitored_region"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredRegion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/resourceanalytics/resourceanalyticsinstance/zz_controller.go b/internal/controller/cluster/resourceanalytics/resourceanalyticsinstance/zz_controller.go index b9fa8c171..ad5a7f2bf 100755 --- a/internal/controller/cluster/resourceanalytics/resourceanalyticsinstance/zz_controller.go +++ b/internal/controller/cluster/resourceanalytics/resourceanalyticsinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ResourceAnalyticsInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ResourceAnalyticsInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResourceAnalyticsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResourceAnalyticsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_resource_analytics_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_resource_analytics_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ResourceAnalyticsInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/resourceanalytics/resourceanalyticsinstanceoacmanagement/zz_controller.go b/internal/controller/cluster/resourceanalytics/resourceanalyticsinstanceoacmanagement/zz_controller.go index f0d2748cb..e4e333f39 100755 --- a/internal/controller/cluster/resourceanalytics/resourceanalyticsinstanceoacmanagement/zz_controller.go +++ b/internal/controller/cluster/resourceanalytics/resourceanalyticsinstanceoacmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ResourceAnalyticsInstanceOacManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ResourceAnalyticsInstanceOacManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResourceAnalyticsInstanceOacManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResourceAnalyticsInstanceOacManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_resource_analytics_instance_oac_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_resource_analytics_instance_oac_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ResourceAnalyticsInstanceOacManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/resourceanalytics/tenancyattachment/zz_controller.go b/internal/controller/cluster/resourceanalytics/tenancyattachment/zz_controller.go index 3a6c7d099..e8362f5e0 100755 --- a/internal/controller/cluster/resourceanalytics/tenancyattachment/zz_controller.go +++ b/internal/controller/cluster/resourceanalytics/tenancyattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TenancyAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TenancyAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TenancyAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TenancyAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_tenancy_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_tenancy_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TenancyAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/resourcemanager/privateendpoint/zz_controller.go b/internal/controller/cluster/resourcemanager/privateendpoint/zz_controller.go index b4159d415..d9091e990 100755 --- a/internal/controller/cluster/resourcemanager/privateendpoint/zz_controller.go +++ b/internal/controller/cluster/resourcemanager/privateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_resourcemanager_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_resourcemanager_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/resourcescheduler/schedule/zz_controller.go b/internal/controller/cluster/resourcescheduler/schedule/zz_controller.go index 346833da6..1be42d623 100755 --- a/internal/controller/cluster/resourcescheduler/schedule/zz_controller.go +++ b/internal/controller/cluster/resourcescheduler/schedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Schedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Schedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Schedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Schedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_resource_scheduler_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_resource_scheduler_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Schedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/sch/serviceconnector/zz_controller.go b/internal/controller/cluster/sch/serviceconnector/zz_controller.go index 50c1161e4..707a9a1cc 100755 --- a/internal/controller/cluster/sch/serviceconnector/zz_controller.go +++ b/internal/controller/cluster/sch/serviceconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ServiceConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ServiceConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_sch_service_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_sch_service_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ServiceConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/securityattribute/securityattribute/zz_controller.go b/internal/controller/cluster/securityattribute/securityattribute/zz_controller.go index 15d98d2e5..a61ba0dc9 100755 --- a/internal/controller/cluster/securityattribute/securityattribute/zz_controller.go +++ b/internal/controller/cluster/securityattribute/securityattribute/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityAttribute_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityAttribute_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAttribute_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAttribute_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_security_attribute_security_attribute"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_security_attribute_security_attribute"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityAttribute_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/securityattribute/securityattributenamespace/zz_controller.go b/internal/controller/cluster/securityattribute/securityattributenamespace/zz_controller.go index 2f33b0814..77abec908 100755 --- a/internal/controller/cluster/securityattribute/securityattributenamespace/zz_controller.go +++ b/internal/controller/cluster/securityattribute/securityattributenamespace/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityAttributeNamespace_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityAttributeNamespace_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAttributeNamespace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAttributeNamespace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_security_attribute_security_attribute_namespace"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_security_attribute_security_attribute_namespace"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityAttributeNamespace_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/self/subscription/zz_controller.go b/internal/controller/cluster/self/subscription/zz_controller.go index 907efc1c9..7081810b2 100755 --- a/internal/controller/cluster/self/subscription/zz_controller.go +++ b/internal/controller/cluster/self/subscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Subscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Subscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_self_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_self_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Subscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/servicecatalog/privateapplication/zz_controller.go b/internal/controller/cluster/servicecatalog/privateapplication/zz_controller.go index 6d7baa486..a6faef3db 100755 --- a/internal/controller/cluster/servicecatalog/privateapplication/zz_controller.go +++ b/internal/controller/cluster/servicecatalog/privateapplication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateApplication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateApplication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_service_catalog_private_application"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_service_catalog_private_application"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateApplication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/servicecatalog/servicecatalog/zz_controller.go b/internal/controller/cluster/servicecatalog/servicecatalog/zz_controller.go index 46b945be7..41b44e1b0 100755 --- a/internal/controller/cluster/servicecatalog/servicecatalog/zz_controller.go +++ b/internal/controller/cluster/servicecatalog/servicecatalog/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ServiceCatalog_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ServiceCatalog_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceCatalog_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceCatalog_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_service_catalog_service_catalog"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_service_catalog_service_catalog"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ServiceCatalog_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/servicecatalog/servicecatalogassociation/zz_controller.go b/internal/controller/cluster/servicecatalog/servicecatalogassociation/zz_controller.go index eda176919..26b262bb8 100755 --- a/internal/controller/cluster/servicecatalog/servicecatalogassociation/zz_controller.go +++ b/internal/controller/cluster/servicecatalog/servicecatalogassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ServiceCatalogAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ServiceCatalogAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceCatalogAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceCatalogAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_service_catalog_service_catalog_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_service_catalog_service_catalog_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ServiceCatalogAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/baselineablemetric/zz_controller.go b/internal/controller/cluster/stackmonitoring/baselineablemetric/zz_controller.go index eb78877c5..e65c2c224 100755 --- a/internal/controller/cluster/stackmonitoring/baselineablemetric/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/baselineablemetric/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BaselineableMetric_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BaselineableMetric_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BaselineableMetric_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BaselineableMetric_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_baselineable_metric"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_baselineable_metric"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BaselineableMetric_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/config/zz_controller.go b/internal/controller/cluster/stackmonitoring/config/zz_controller.go index d3d313673..443fce32b 100755 --- a/internal/controller/cluster/stackmonitoring/config/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/config/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Config_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Config_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Config_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Config_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Config_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/discoveryjob/zz_controller.go b/internal/controller/cluster/stackmonitoring/discoveryjob/zz_controller.go index 0585a21df..64b519275 100755 --- a/internal/controller/cluster/stackmonitoring/discoveryjob/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/discoveryjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DiscoveryJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DiscoveryJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoveryJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoveryJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_discovery_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_discovery_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DiscoveryJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/maintenancewindow/zz_controller.go b/internal/controller/cluster/stackmonitoring/maintenancewindow/zz_controller.go index 543092b2d..234abcaf7 100755 --- a/internal/controller/cluster/stackmonitoring/maintenancewindow/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/maintenancewindow/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaintenanceWindow_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaintenanceWindow_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_maintenance_window"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_maintenance_window"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaintenanceWindow_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/maintenancewindowsretryfailedoperation/zz_controller.go b/internal/controller/cluster/stackmonitoring/maintenancewindowsretryfailedoperation/zz_controller.go index f569d0f6f..47fe94bd2 100755 --- a/internal/controller/cluster/stackmonitoring/maintenancewindowsretryfailedoperation/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/maintenancewindowsretryfailedoperation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaintenanceWindowsRetryFailedOperation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaintenanceWindowsRetryFailedOperation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindowsRetryFailedOperation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindowsRetryFailedOperation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_maintenance_windows_retry_failed_operation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_maintenance_windows_retry_failed_operation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaintenanceWindowsRetryFailedOperation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/maintenancewindowsstop/zz_controller.go b/internal/controller/cluster/stackmonitoring/maintenancewindowsstop/zz_controller.go index 4f415d2c8..5dfcf97b8 100755 --- a/internal/controller/cluster/stackmonitoring/maintenancewindowsstop/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/maintenancewindowsstop/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaintenanceWindowsStop_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaintenanceWindowsStop_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindowsStop_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindowsStop_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_maintenance_windows_stop"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_maintenance_windows_stop"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaintenanceWindowsStop_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/metricextension/zz_controller.go b/internal/controller/cluster/stackmonitoring/metricextension/zz_controller.go index f7d50ad60..cc69e163a 100755 --- a/internal/controller/cluster/stackmonitoring/metricextension/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/metricextension/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MetricExtension_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MetricExtension_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MetricExtension_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MetricExtension_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_metric_extension"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_metric_extension"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MetricExtension_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/metricextensionmetricextensionongivenresourcesmanagement/zz_controller.go b/internal/controller/cluster/stackmonitoring/metricextensionmetricextensionongivenresourcesmanagement/zz_controller.go index 733ce1cd6..cbd6037bd 100755 --- a/internal/controller/cluster/stackmonitoring/metricextensionmetricextensionongivenresourcesmanagement/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/metricextensionmetricextensionongivenresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MetricExtensionMetricExtensionOnGivenResourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MetricExtensionMetricExtensionOnGivenResourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MetricExtensionMetricExtensionOnGivenResourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MetricExtensionMetricExtensionOnGivenResourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_metric_extension_metric_extension_on_given_resources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_metric_extension_metric_extension_on_given_resources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MetricExtensionMetricExtensionOnGivenResourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/monitoredresource/zz_controller.go b/internal/controller/cluster/stackmonitoring/monitoredresource/zz_controller.go index ce469242b..01f18e0e1 100755 --- a/internal/controller/cluster/stackmonitoring/monitoredresource/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/monitoredresource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resource"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resource"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/monitoredresourcesassociatemonitoredresource/zz_controller.go b/internal/controller/cluster/stackmonitoring/monitoredresourcesassociatemonitoredresource/zz_controller.go index c3e833ed1..4fef7ab7c 100755 --- a/internal/controller/cluster/stackmonitoring/monitoredresourcesassociatemonitoredresource/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/monitoredresourcesassociatemonitoredresource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResourcesAssociateMonitoredResource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResourcesAssociateMonitoredResource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesAssociateMonitoredResource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesAssociateMonitoredResource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_associate_monitored_resource"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_associate_monitored_resource"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResourcesAssociateMonitoredResource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/monitoredresourceslistmember/zz_controller.go b/internal/controller/cluster/stackmonitoring/monitoredresourceslistmember/zz_controller.go index e0e0158cc..a8a185f13 100755 --- a/internal/controller/cluster/stackmonitoring/monitoredresourceslistmember/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/monitoredresourceslistmember/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResourcesListMember_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResourcesListMember_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesListMember_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesListMember_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_list_member"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_list_member"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResourcesListMember_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/monitoredresourcessearch/zz_controller.go b/internal/controller/cluster/stackmonitoring/monitoredresourcessearch/zz_controller.go index 311f4ef82..b507d45a7 100755 --- a/internal/controller/cluster/stackmonitoring/monitoredresourcessearch/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/monitoredresourcessearch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResourcesSearch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResourcesSearch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesSearch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesSearch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_search"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_search"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResourcesSearch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/monitoredresourcessearchassociation/zz_controller.go b/internal/controller/cluster/stackmonitoring/monitoredresourcessearchassociation/zz_controller.go index 432b742fe..b8f762aa0 100755 --- a/internal/controller/cluster/stackmonitoring/monitoredresourcessearchassociation/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/monitoredresourcessearchassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResourcesSearchAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResourcesSearchAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesSearchAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesSearchAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_search_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_search_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResourcesSearchAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/monitoredresourcetask/zz_controller.go b/internal/controller/cluster/stackmonitoring/monitoredresourcetask/zz_controller.go index e315320a5..757c479d0 100755 --- a/internal/controller/cluster/stackmonitoring/monitoredresourcetask/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/monitoredresourcetask/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResourceTask_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResourceTask_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourceTask_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourceTask_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resource_task"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resource_task"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResourceTask_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/monitoredresourcetype/zz_controller.go b/internal/controller/cluster/stackmonitoring/monitoredresourcetype/zz_controller.go index b4c061eee..b4fe7d59d 100755 --- a/internal/controller/cluster/stackmonitoring/monitoredresourcetype/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/monitoredresourcetype/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResourceType_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResourceType_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourceType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourceType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resource_type"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resource_type"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResourceType_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/monitoringtemplate/zz_controller.go b/internal/controller/cluster/stackmonitoring/monitoringtemplate/zz_controller.go index 5de2caf70..1bf5bba90 100755 --- a/internal/controller/cluster/stackmonitoring/monitoringtemplate/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/monitoringtemplate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoringTemplate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoringTemplate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoringTemplate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoringTemplate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitoring_template"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitoring_template"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoringTemplate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/monitoringtemplatealarmcondition/zz_controller.go b/internal/controller/cluster/stackmonitoring/monitoringtemplatealarmcondition/zz_controller.go index e52d49a35..351d0ac76 100755 --- a/internal/controller/cluster/stackmonitoring/monitoringtemplatealarmcondition/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/monitoringtemplatealarmcondition/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoringTemplateAlarmCondition_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoringTemplateAlarmCondition_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoringTemplateAlarmCondition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoringTemplateAlarmCondition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitoring_template_alarm_condition"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitoring_template_alarm_condition"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoringTemplateAlarmCondition_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/monitoringtemplateongivenresourcesmanagement/zz_controller.go b/internal/controller/cluster/stackmonitoring/monitoringtemplateongivenresourcesmanagement/zz_controller.go index 7137f9f76..a7a550f87 100755 --- a/internal/controller/cluster/stackmonitoring/monitoringtemplateongivenresourcesmanagement/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/monitoringtemplateongivenresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoringTemplateOnGivenResourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoringTemplateOnGivenResourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoringTemplateOnGivenResourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoringTemplateOnGivenResourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitoring_template_monitoring_template_on_given_resources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitoring_template_monitoring_template_on_given_resources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoringTemplateOnGivenResourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/stackmonitoring/processset/zz_controller.go b/internal/controller/cluster/stackmonitoring/processset/zz_controller.go index 1d8700075..3aa5e7e7d 100755 --- a/internal/controller/cluster/stackmonitoring/processset/zz_controller.go +++ b/internal/controller/cluster/stackmonitoring/processset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProcessSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProcessSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProcessSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProcessSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_process_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_process_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProcessSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/streaming/connectharness/zz_controller.go b/internal/controller/cluster/streaming/connectharness/zz_controller.go index eb4e16ee8..18e0b17cd 100755 --- a/internal/controller/cluster/streaming/connectharness/zz_controller.go +++ b/internal/controller/cluster/streaming/connectharness/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConnectHarness_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ConnectHarness_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConnectHarness_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConnectHarness_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_streaming_connect_harness"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_streaming_connect_harness"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ConnectHarness_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/streaming/stream/zz_controller.go b/internal/controller/cluster/streaming/stream/zz_controller.go index d12bb8512..e764642aa 100755 --- a/internal/controller/cluster/streaming/stream/zz_controller.go +++ b/internal/controller/cluster/streaming/stream/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Stream_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Stream_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Stream_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Stream_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_streaming_stream"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_streaming_stream"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Stream_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/streaming/streampool/zz_controller.go b/internal/controller/cluster/streaming/streampool/zz_controller.go index 31d54ca89..2c29df437 100755 --- a/internal/controller/cluster/streaming/streampool/zz_controller.go +++ b/internal/controller/cluster/streaming/streampool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamPool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamPool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_streaming_stream_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_streaming_stream_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamPool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/tenantmanagercontrolplane/subscriptionmapping/zz_controller.go b/internal/controller/cluster/tenantmanagercontrolplane/subscriptionmapping/zz_controller.go index 7d27f6d74..fadce07e6 100755 --- a/internal/controller/cluster/tenantmanagercontrolplane/subscriptionmapping/zz_controller.go +++ b/internal/controller/cluster/tenantmanagercontrolplane/subscriptionmapping/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SubscriptionMapping_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SubscriptionMapping_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SubscriptionMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SubscriptionMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_tenantmanagercontrolplane_subscription_mapping"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_tenantmanagercontrolplane_subscription_mapping"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SubscriptionMapping_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/usageproxy/subscriptionredeemableuser/zz_controller.go b/internal/controller/cluster/usageproxy/subscriptionredeemableuser/zz_controller.go index 424e1bcaa..1d6e3b852 100755 --- a/internal/controller/cluster/usageproxy/subscriptionredeemableuser/zz_controller.go +++ b/internal/controller/cluster/usageproxy/subscriptionredeemableuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SubscriptionRedeemableUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SubscriptionRedeemableUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SubscriptionRedeemableUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SubscriptionRedeemableUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_usage_proxy_subscription_redeemable_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_usage_proxy_subscription_redeemable_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SubscriptionRedeemableUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/vault/secret/zz_controller.go b/internal/controller/cluster/vault/secret/zz_controller.go index 4ea062ab5..f38260dc7 100755 --- a/internal/controller/cluster/vault/secret/zz_controller.go +++ b/internal/controller/cluster/vault/secret/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Secret_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Secret_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Secret_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Secret_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vault_secret"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vault_secret"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Secret_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/vbsinst/vbsinstance/zz_controller.go b/internal/controller/cluster/vbsinst/vbsinstance/zz_controller.go index 323b28b0a..72556ba89 100755 --- a/internal/controller/cluster/vbsinst/vbsinstance/zz_controller.go +++ b/internal/controller/cluster/vbsinst/vbsinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VbsInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VbsInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VbsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VbsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vbs_inst_vbs_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vbs_inst_vbs_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VbsInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/visualbuilder/vbinstance/zz_controller.go b/internal/controller/cluster/visualbuilder/vbinstance/zz_controller.go index 62f08f7c6..cf1f3b228 100755 --- a/internal/controller/cluster/visualbuilder/vbinstance/zz_controller.go +++ b/internal/controller/cluster/visualbuilder/vbinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VbInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VbInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VbInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VbInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_visual_builder_vb_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_visual_builder_vb_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VbInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/vnmonitoring/pathanalysi/zz_controller.go b/internal/controller/cluster/vnmonitoring/pathanalysi/zz_controller.go index b41464cc5..ac4ed67fd 100755 --- a/internal/controller/cluster/vnmonitoring/pathanalysi/zz_controller.go +++ b/internal/controller/cluster/vnmonitoring/pathanalysi/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PathAnalysi_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PathAnalysi_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PathAnalysi_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PathAnalysi_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vn_monitoring_path_analysi"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vn_monitoring_path_analysi"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PathAnalysi_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/vulnerabilityscanning/containerscanrecipe/zz_controller.go b/internal/controller/cluster/vulnerabilityscanning/containerscanrecipe/zz_controller.go index f189b79a9..329807c51 100755 --- a/internal/controller/cluster/vulnerabilityscanning/containerscanrecipe/zz_controller.go +++ b/internal/controller/cluster/vulnerabilityscanning/containerscanrecipe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ContainerScanRecipe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ContainerScanRecipe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerScanRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerScanRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_container_scan_recipe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_container_scan_recipe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ContainerScanRecipe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/vulnerabilityscanning/containerscantarget/zz_controller.go b/internal/controller/cluster/vulnerabilityscanning/containerscantarget/zz_controller.go index 8aff2dd36..bea62c974 100755 --- a/internal/controller/cluster/vulnerabilityscanning/containerscantarget/zz_controller.go +++ b/internal/controller/cluster/vulnerabilityscanning/containerscantarget/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ContainerScanTarget_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ContainerScanTarget_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerScanTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerScanTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_container_scan_target"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_container_scan_target"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ContainerScanTarget_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/vulnerabilityscanning/hostscanrecipe/zz_controller.go b/internal/controller/cluster/vulnerabilityscanning/hostscanrecipe/zz_controller.go index ea287b1ea..1290ba91b 100755 --- a/internal/controller/cluster/vulnerabilityscanning/hostscanrecipe/zz_controller.go +++ b/internal/controller/cluster/vulnerabilityscanning/hostscanrecipe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.HostScanRecipe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.HostScanRecipe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HostScanRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HostScanRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_host_scan_recipe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_host_scan_recipe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.HostScanRecipe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/vulnerabilityscanning/hostscantarget/zz_controller.go b/internal/controller/cluster/vulnerabilityscanning/hostscantarget/zz_controller.go index 662e23653..cde9564f3 100755 --- a/internal/controller/cluster/vulnerabilityscanning/hostscantarget/zz_controller.go +++ b/internal/controller/cluster/vulnerabilityscanning/hostscantarget/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.HostScanTarget_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.HostScanTarget_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HostScanTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HostScanTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_host_scan_target"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_host_scan_target"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.HostScanTarget_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/waa/webappacceleration/zz_controller.go b/internal/controller/cluster/waa/webappacceleration/zz_controller.go index 4ac7069bc..f5c47e7a4 100755 --- a/internal/controller/cluster/waa/webappacceleration/zz_controller.go +++ b/internal/controller/cluster/waa/webappacceleration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WebAppAcceleration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WebAppAcceleration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppAcceleration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppAcceleration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waa_web_app_acceleration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waa_web_app_acceleration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WebAppAcceleration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/waa/webappaccelerationpolicy/zz_controller.go b/internal/controller/cluster/waa/webappaccelerationpolicy/zz_controller.go index 5eec69368..f0efd5317 100755 --- a/internal/controller/cluster/waa/webappaccelerationpolicy/zz_controller.go +++ b/internal/controller/cluster/waa/webappaccelerationpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WebAppAccelerationPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WebAppAccelerationPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppAccelerationPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppAccelerationPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waa_web_app_acceleration_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waa_web_app_acceleration_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WebAppAccelerationPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/waas/addresslist/zz_controller.go b/internal/controller/cluster/waas/addresslist/zz_controller.go index d28408c46..5c7551161 100755 --- a/internal/controller/cluster/waas/addresslist/zz_controller.go +++ b/internal/controller/cluster/waas/addresslist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AddressList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AddressList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AddressList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AddressList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_address_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_address_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AddressList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/waas/certificate/zz_controller.go b/internal/controller/cluster/waas/certificate/zz_controller.go index a6cf6f080..7dfe6ab3d 100755 --- a/internal/controller/cluster/waas/certificate/zz_controller.go +++ b/internal/controller/cluster/waas/certificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Certificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Certificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Certificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/waas/customprotectionrule/zz_controller.go b/internal/controller/cluster/waas/customprotectionrule/zz_controller.go index 9c9429ef8..3939aafc7 100755 --- a/internal/controller/cluster/waas/customprotectionrule/zz_controller.go +++ b/internal/controller/cluster/waas/customprotectionrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CustomProtectionRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CustomProtectionRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomProtectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomProtectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_custom_protection_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_custom_protection_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CustomProtectionRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/waas/httpredirect/zz_controller.go b/internal/controller/cluster/waas/httpredirect/zz_controller.go index ac586f695..7db8849fd 100755 --- a/internal/controller/cluster/waas/httpredirect/zz_controller.go +++ b/internal/controller/cluster/waas/httpredirect/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.HttpRedirect_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.HttpRedirect_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HttpRedirect_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HttpRedirect_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_http_redirect"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_http_redirect"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.HttpRedirect_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/waas/protectionrule/zz_controller.go b/internal/controller/cluster/waas/protectionrule/zz_controller.go index 6899f1a26..2d03e3f6c 100755 --- a/internal/controller/cluster/waas/protectionrule/zz_controller.go +++ b/internal/controller/cluster/waas/protectionrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProtectionRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProtectionRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProtectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProtectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_protection_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_protection_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProtectionRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/waas/purgecache/zz_controller.go b/internal/controller/cluster/waas/purgecache/zz_controller.go index 1ad00f9fa..6b4998ec0 100755 --- a/internal/controller/cluster/waas/purgecache/zz_controller.go +++ b/internal/controller/cluster/waas/purgecache/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PurgeCache_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PurgeCache_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PurgeCache_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PurgeCache_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_purge_cache"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_purge_cache"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PurgeCache_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/waas/waaspolicy/zz_controller.go b/internal/controller/cluster/waas/waaspolicy/zz_controller.go index e4e8739a7..dc695b49c 100755 --- a/internal/controller/cluster/waas/waaspolicy/zz_controller.go +++ b/internal/controller/cluster/waas/waaspolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WaasPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WaasPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WaasPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WaasPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_waas_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_waas_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WaasPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/waf/networkaddresslist/zz_controller.go b/internal/controller/cluster/waf/networkaddresslist/zz_controller.go index cb901810c..158d2b4dc 100755 --- a/internal/controller/cluster/waf/networkaddresslist/zz_controller.go +++ b/internal/controller/cluster/waf/networkaddresslist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkAddressList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkAddressList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkAddressList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkAddressList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waf_network_address_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waf_network_address_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkAddressList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/waf/webappfirewall/zz_controller.go b/internal/controller/cluster/waf/webappfirewall/zz_controller.go index abe51a62e..f2cca2fdb 100755 --- a/internal/controller/cluster/waf/webappfirewall/zz_controller.go +++ b/internal/controller/cluster/waf/webappfirewall/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WebAppFirewall_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WebAppFirewall_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppFirewall_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppFirewall_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waf_web_app_firewall"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waf_web_app_firewall"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WebAppFirewall_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/waf/webappfirewallpolicy/zz_controller.go b/internal/controller/cluster/waf/webappfirewallpolicy/zz_controller.go index c936707bc..7e30e05f5 100755 --- a/internal/controller/cluster/waf/webappfirewallpolicy/zz_controller.go +++ b/internal/controller/cluster/waf/webappfirewallpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WebAppFirewallPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WebAppFirewallPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppFirewallPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppFirewallPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waf_web_app_firewall_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waf_web_app_firewall_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WebAppFirewallPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/zpr/configuration/zz_controller.go b/internal/controller/cluster/zpr/configuration/zz_controller.go index acf1d3283..49ef51599 100755 --- a/internal/controller/cluster/zpr/configuration/zz_controller.go +++ b/internal/controller/cluster/zpr/configuration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Configuration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Configuration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_zpr_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_zpr_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Configuration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/cluster/zpr/zprpolicy/zz_controller.go b/internal/controller/cluster/zpr/zprpolicy/zz_controller.go index 59ee6c022..326eb3a46 100755 --- a/internal/controller/cluster/zpr/zprpolicy/zz_controller.go +++ b/internal/controller/cluster/zpr/zprpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ZprPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ZprPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ZprPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ZprPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_zpr_zpr_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_zpr_zpr_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ZprPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/adm/knowledgebase/zz_controller.go b/internal/controller/namespaced/adm/knowledgebase/zz_controller.go index 6e610fa30..1ef3c91e1 100755 --- a/internal/controller/namespaced/adm/knowledgebase/zz_controller.go +++ b/internal/controller/namespaced/adm/knowledgebase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KnowledgeBase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KnowledgeBase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KnowledgeBase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KnowledgeBase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_adm_knowledge_base"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_adm_knowledge_base"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KnowledgeBase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/adm/remediationrecipe/zz_controller.go b/internal/controller/namespaced/adm/remediationrecipe/zz_controller.go index ac6d7bdc0..74311403d 100755 --- a/internal/controller/namespaced/adm/remediationrecipe/zz_controller.go +++ b/internal/controller/namespaced/adm/remediationrecipe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RemediationRecipe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RemediationRecipe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RemediationRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RemediationRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_adm_remediation_recipe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_adm_remediation_recipe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RemediationRecipe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/adm/remediationrun/zz_controller.go b/internal/controller/namespaced/adm/remediationrun/zz_controller.go index 4ac6275ab..35a66ecec 100755 --- a/internal/controller/namespaced/adm/remediationrun/zz_controller.go +++ b/internal/controller/namespaced/adm/remediationrun/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RemediationRun_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RemediationRun_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RemediationRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RemediationRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_adm_remediation_run"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_adm_remediation_run"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RemediationRun_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/adm/vulnerabilityaudit/zz_controller.go b/internal/controller/namespaced/adm/vulnerabilityaudit/zz_controller.go index 00cb98773..40fd16c27 100755 --- a/internal/controller/namespaced/adm/vulnerabilityaudit/zz_controller.go +++ b/internal/controller/namespaced/adm/vulnerabilityaudit/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VulnerabilityAudit_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VulnerabilityAudit_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VulnerabilityAudit_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VulnerabilityAudit_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_adm_vulnerability_audit"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_adm_vulnerability_audit"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VulnerabilityAudit_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/aidataplatform/aidataplatform/zz_controller.go b/internal/controller/namespaced/aidataplatform/aidataplatform/zz_controller.go index 376f08696..231abfac6 100755 --- a/internal/controller/namespaced/aidataplatform/aidataplatform/zz_controller.go +++ b/internal/controller/namespaced/aidataplatform/aidataplatform/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AiDataPlatform_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AiDataPlatform_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AiDataPlatform_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AiDataPlatform_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_data_platform_ai_data_platform"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_data_platform_ai_data_platform"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AiDataPlatform_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/aidocument/model/zz_controller.go b/internal/controller/namespaced/aidocument/model/zz_controller.go index 09f6bac9b..17cf889b1 100755 --- a/internal/controller/namespaced/aidocument/model/zz_controller.go +++ b/internal/controller/namespaced/aidocument/model/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Model_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Model_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_document_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_document_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Model_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/aidocument/processorjob/zz_controller.go b/internal/controller/namespaced/aidocument/processorjob/zz_controller.go index 53ed0f610..ba7ba6dc8 100755 --- a/internal/controller/namespaced/aidocument/processorjob/zz_controller.go +++ b/internal/controller/namespaced/aidocument/processorjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProcessorJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProcessorJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProcessorJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProcessorJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_document_processor_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_document_processor_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProcessorJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/aidocument/project/zz_controller.go b/internal/controller/namespaced/aidocument/project/zz_controller.go index 2347687c9..013b18bc8 100755 --- a/internal/controller/namespaced/aidocument/project/zz_controller.go +++ b/internal/controller/namespaced/aidocument/project/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Project_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Project_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_document_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_document_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Project_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ailanguage/endpoint/zz_controller.go b/internal/controller/namespaced/ailanguage/endpoint/zz_controller.go index 5efcaf7bc..1a3dd988f 100755 --- a/internal/controller/namespaced/ailanguage/endpoint/zz_controller.go +++ b/internal/controller/namespaced/ailanguage/endpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Endpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Endpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Endpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Endpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_language_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_language_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Endpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ailanguage/job/zz_controller.go b/internal/controller/namespaced/ailanguage/job/zz_controller.go index 106438350..722dffec4 100755 --- a/internal/controller/namespaced/ailanguage/job/zz_controller.go +++ b/internal/controller/namespaced/ailanguage/job/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Job_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Job_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Job_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Job_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_language_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_language_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Job_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ailanguage/model/zz_controller.go b/internal/controller/namespaced/ailanguage/model/zz_controller.go index d0e9985d8..6b19e1494 100755 --- a/internal/controller/namespaced/ailanguage/model/zz_controller.go +++ b/internal/controller/namespaced/ailanguage/model/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Model_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Model_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_language_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_language_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Model_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ailanguage/project/zz_controller.go b/internal/controller/namespaced/ailanguage/project/zz_controller.go index a767fff7e..6ab228aa7 100755 --- a/internal/controller/namespaced/ailanguage/project/zz_controller.go +++ b/internal/controller/namespaced/ailanguage/project/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Project_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Project_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_language_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_language_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Project_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/aivision/model/zz_controller.go b/internal/controller/namespaced/aivision/model/zz_controller.go index 7cb36c6de..3027f6e04 100755 --- a/internal/controller/namespaced/aivision/model/zz_controller.go +++ b/internal/controller/namespaced/aivision/model/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Model_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Model_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Model_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/aivision/project/zz_controller.go b/internal/controller/namespaced/aivision/project/zz_controller.go index 6da2f3068..8b8e0e5fc 100755 --- a/internal/controller/namespaced/aivision/project/zz_controller.go +++ b/internal/controller/namespaced/aivision/project/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Project_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Project_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Project_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/aivision/streamgroup/zz_controller.go b/internal/controller/namespaced/aivision/streamgroup/zz_controller.go index 50533b6cf..6b338af4d 100755 --- a/internal/controller/namespaced/aivision/streamgroup/zz_controller.go +++ b/internal/controller/namespaced/aivision/streamgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_stream_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_stream_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/aivision/streamjob/zz_controller.go b/internal/controller/namespaced/aivision/streamjob/zz_controller.go index 1fbdaf623..2ea7cade9 100755 --- a/internal/controller/namespaced/aivision/streamjob/zz_controller.go +++ b/internal/controller/namespaced/aivision/streamjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_stream_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_stream_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/aivision/streamsource/zz_controller.go b/internal/controller/namespaced/aivision/streamsource/zz_controller.go index d7db4381a..4494115f6 100755 --- a/internal/controller/namespaced/aivision/streamsource/zz_controller.go +++ b/internal/controller/namespaced/aivision/streamsource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_stream_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_stream_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/aivision/visionprivateendpoint/zz_controller.go b/internal/controller/namespaced/aivision/visionprivateendpoint/zz_controller.go index ed91cd990..e703ce577 100755 --- a/internal/controller/namespaced/aivision/visionprivateendpoint/zz_controller.go +++ b/internal/controller/namespaced/aivision/visionprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VisionPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VisionPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VisionPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VisionPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_vision_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ai_vision_vision_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VisionPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/analytics/analyticsinstance/zz_controller.go b/internal/controller/namespaced/analytics/analyticsinstance/zz_controller.go index ffb13a289..e1e285f37 100755 --- a/internal/controller/namespaced/analytics/analyticsinstance/zz_controller.go +++ b/internal/controller/namespaced/analytics/analyticsinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnalyticsInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnalyticsInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyticsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyticsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_analytics_analytics_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_analytics_analytics_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnalyticsInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/analytics/analyticsinstanceprivateaccesschannel/zz_controller.go b/internal/controller/namespaced/analytics/analyticsinstanceprivateaccesschannel/zz_controller.go index be1f56386..65e33a8f1 100755 --- a/internal/controller/namespaced/analytics/analyticsinstanceprivateaccesschannel/zz_controller.go +++ b/internal/controller/namespaced/analytics/analyticsinstanceprivateaccesschannel/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnalyticsInstancePrivateAccessChannel_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnalyticsInstancePrivateAccessChannel_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyticsInstancePrivateAccessChannel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyticsInstancePrivateAccessChannel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_analytics_analytics_instance_private_access_channel"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_analytics_analytics_instance_private_access_channel"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnalyticsInstancePrivateAccessChannel_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/analytics/analyticsinstancevanityurl/zz_controller.go b/internal/controller/namespaced/analytics/analyticsinstancevanityurl/zz_controller.go index fe808ee06..c4ab87305 100755 --- a/internal/controller/namespaced/analytics/analyticsinstancevanityurl/zz_controller.go +++ b/internal/controller/namespaced/analytics/analyticsinstancevanityurl/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnalyticsInstanceVanityUrl_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnalyticsInstanceVanityUrl_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyticsInstanceVanityUrl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyticsInstanceVanityUrl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_analytics_analytics_instance_vanity_url"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_analytics_analytics_instance_vanity_url"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnalyticsInstanceVanityUrl_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/announcementsservice/announcementsubscription/zz_controller.go b/internal/controller/namespaced/announcementsservice/announcementsubscription/zz_controller.go index b33ae766c..63c259091 100755 --- a/internal/controller/namespaced/announcementsservice/announcementsubscription/zz_controller.go +++ b/internal/controller/namespaced/announcementsservice/announcementsubscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnnouncementSubscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnnouncementSubscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnnouncementSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnnouncementSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_announcements_service_announcement_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_announcements_service_announcement_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnnouncementSubscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/announcementsservice/announcementsubscriptionsactionschangecompartment/zz_controller.go b/internal/controller/namespaced/announcementsservice/announcementsubscriptionsactionschangecompartment/zz_controller.go index 460bfd28d..185b58c2b 100755 --- a/internal/controller/namespaced/announcementsservice/announcementsubscriptionsactionschangecompartment/zz_controller.go +++ b/internal/controller/namespaced/announcementsservice/announcementsubscriptionsactionschangecompartment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnnouncementSubscriptionsActionsChangeCompartment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnnouncementSubscriptionsActionsChangeCompartment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnnouncementSubscriptionsActionsChangeCompartment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnnouncementSubscriptionsActionsChangeCompartment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_announcements_service_announcement_subscriptions_actions_change_compartment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_announcements_service_announcement_subscriptions_actions_change_compartment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnnouncementSubscriptionsActionsChangeCompartment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/announcementsservice/announcementsubscriptionsfiltergroup/zz_controller.go b/internal/controller/namespaced/announcementsservice/announcementsubscriptionsfiltergroup/zz_controller.go index 10e4d9458..1321731be 100755 --- a/internal/controller/namespaced/announcementsservice/announcementsubscriptionsfiltergroup/zz_controller.go +++ b/internal/controller/namespaced/announcementsservice/announcementsubscriptionsfiltergroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnnouncementSubscriptionsFilterGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnnouncementSubscriptionsFilterGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnnouncementSubscriptionsFilterGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnnouncementSubscriptionsFilterGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_announcements_service_announcement_subscriptions_filter_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_announcements_service_announcement_subscriptions_filter_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnnouncementSubscriptionsFilterGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apiaccesscontrol/privilegedapicontrol/zz_controller.go b/internal/controller/namespaced/apiaccesscontrol/privilegedapicontrol/zz_controller.go index 7688ae4fd..c1da8385b 100755 --- a/internal/controller/namespaced/apiaccesscontrol/privilegedapicontrol/zz_controller.go +++ b/internal/controller/namespaced/apiaccesscontrol/privilegedapicontrol/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivilegedApiControl_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivilegedApiControl_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivilegedApiControl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivilegedApiControl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apiaccesscontrol_privileged_api_control"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apiaccesscontrol_privileged_api_control"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivilegedApiControl_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apiaccesscontrol/privilegedapirequest/zz_controller.go b/internal/controller/namespaced/apiaccesscontrol/privilegedapirequest/zz_controller.go index 225004669..3b895cb75 100755 --- a/internal/controller/namespaced/apiaccesscontrol/privilegedapirequest/zz_controller.go +++ b/internal/controller/namespaced/apiaccesscontrol/privilegedapirequest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivilegedApiRequest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivilegedApiRequest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivilegedApiRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivilegedApiRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apiaccesscontrol_privileged_api_request"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apiaccesscontrol_privileged_api_request"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivilegedApiRequest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apigateway/api/zz_controller.go b/internal/controller/namespaced/apigateway/api/zz_controller.go index c5e324850..ddf321aa5 100755 --- a/internal/controller/namespaced/apigateway/api/zz_controller.go +++ b/internal/controller/namespaced/apigateway/api/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Api_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Api_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Api_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Api_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apigateway_api"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apigateway_api"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Api_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apigateway/certificate/zz_controller.go b/internal/controller/namespaced/apigateway/certificate/zz_controller.go index 1d64dd157..19872ac2e 100755 --- a/internal/controller/namespaced/apigateway/certificate/zz_controller.go +++ b/internal/controller/namespaced/apigateway/certificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Certificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Certificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apigateway_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apigateway_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Certificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apigateway/deployment/zz_controller.go b/internal/controller/namespaced/apigateway/deployment/zz_controller.go index 1e2d33234..1b6b31c0b 100755 --- a/internal/controller/namespaced/apigateway/deployment/zz_controller.go +++ b/internal/controller/namespaced/apigateway/deployment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Deployment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Deployment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Deployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Deployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apigateway_deployment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apigateway_deployment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Deployment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apigateway/gateway/zz_controller.go b/internal/controller/namespaced/apigateway/gateway/zz_controller.go index 6b8ad38b6..b31095c06 100755 --- a/internal/controller/namespaced/apigateway/gateway/zz_controller.go +++ b/internal/controller/namespaced/apigateway/gateway/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Gateway_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Gateway_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Gateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Gateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apigateway_gateway"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apigateway_gateway"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Gateway_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apigateway/subscriber/zz_controller.go b/internal/controller/namespaced/apigateway/subscriber/zz_controller.go index 29027f3f5..68f25ab5e 100755 --- a/internal/controller/namespaced/apigateway/subscriber/zz_controller.go +++ b/internal/controller/namespaced/apigateway/subscriber/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Subscriber_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Subscriber_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscriber_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscriber_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apigateway_subscriber"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apigateway_subscriber"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Subscriber_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apigateway/usageplan/zz_controller.go b/internal/controller/namespaced/apigateway/usageplan/zz_controller.go index 9c78aacf7..3c5db27fa 100755 --- a/internal/controller/namespaced/apigateway/usageplan/zz_controller.go +++ b/internal/controller/namespaced/apigateway/usageplan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UsagePlan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UsagePlan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsagePlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsagePlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apigateway_usage_plan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apigateway_usage_plan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UsagePlan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apiplatform/apiplatforminstance/zz_controller.go b/internal/controller/namespaced/apiplatform/apiplatforminstance/zz_controller.go index 09d3c7cea..270ef6614 100755 --- a/internal/controller/namespaced/apiplatform/apiplatforminstance/zz_controller.go +++ b/internal/controller/namespaced/apiplatform/apiplatforminstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApiPlatformInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApiPlatformInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApiPlatformInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApiPlatformInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_api_platform_api_platform_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_api_platform_api_platform_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApiPlatformInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apm/apmdomain/zz_controller.go b/internal/controller/namespaced/apm/apmdomain/zz_controller.go index 56641c909..8cde5deb2 100755 --- a/internal/controller/namespaced/apm/apmdomain/zz_controller.go +++ b/internal/controller/namespaced/apm/apmdomain/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApmDomain_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApmDomain_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApmDomain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApmDomain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_apm_domain"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_apm_domain"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApmDomain_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apmconfig/config/zz_controller.go b/internal/controller/namespaced/apmconfig/config/zz_controller.go index e3aa6f3f5..c9a033b03 100755 --- a/internal/controller/namespaced/apmconfig/config/zz_controller.go +++ b/internal/controller/namespaced/apmconfig/config/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Config_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Config_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Config_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Config_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_config_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_config_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Config_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apmconfig/datafile/zz_controller.go b/internal/controller/namespaced/apmconfig/datafile/zz_controller.go index 0a165d5ac..bd24ccbe8 100755 --- a/internal/controller/namespaced/apmconfig/datafile/zz_controller.go +++ b/internal/controller/namespaced/apmconfig/datafile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataFile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataFile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataFile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataFile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_config_data_file"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_config_data_file"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataFile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apmsynthetics/dedicatedvantagepoint/zz_controller.go b/internal/controller/namespaced/apmsynthetics/dedicatedvantagepoint/zz_controller.go index 71ff5034b..feac25c7e 100755 --- a/internal/controller/namespaced/apmsynthetics/dedicatedvantagepoint/zz_controller.go +++ b/internal/controller/namespaced/apmsynthetics/dedicatedvantagepoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DedicatedVantagePoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DedicatedVantagePoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DedicatedVantagePoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DedicatedVantagePoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_dedicated_vantage_point"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_dedicated_vantage_point"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DedicatedVantagePoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apmsynthetics/monitor/zz_controller.go b/internal/controller/namespaced/apmsynthetics/monitor/zz_controller.go index 5ea5f8f57..34e8501df 100755 --- a/internal/controller/namespaced/apmsynthetics/monitor/zz_controller.go +++ b/internal/controller/namespaced/apmsynthetics/monitor/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Monitor_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Monitor_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Monitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Monitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_monitor"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_monitor"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Monitor_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apmsynthetics/onpremisevantagepoint/zz_controller.go b/internal/controller/namespaced/apmsynthetics/onpremisevantagepoint/zz_controller.go index af83b453d..5cf1e481f 100755 --- a/internal/controller/namespaced/apmsynthetics/onpremisevantagepoint/zz_controller.go +++ b/internal/controller/namespaced/apmsynthetics/onpremisevantagepoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OnPremiseVantagePoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OnPremiseVantagePoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OnPremiseVantagePoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OnPremiseVantagePoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_on_premise_vantage_point"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_on_premise_vantage_point"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OnPremiseVantagePoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apmsynthetics/onpremisevantagepointworker/zz_controller.go b/internal/controller/namespaced/apmsynthetics/onpremisevantagepointworker/zz_controller.go index c07b2dd4f..3a5a8670d 100755 --- a/internal/controller/namespaced/apmsynthetics/onpremisevantagepointworker/zz_controller.go +++ b/internal/controller/namespaced/apmsynthetics/onpremisevantagepointworker/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OnPremiseVantagePointWorker_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OnPremiseVantagePointWorker_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OnPremiseVantagePointWorker_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OnPremiseVantagePointWorker_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_on_premise_vantage_point_worker"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_on_premise_vantage_point_worker"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OnPremiseVantagePointWorker_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apmsynthetics/script/zz_controller.go b/internal/controller/namespaced/apmsynthetics/script/zz_controller.go index 9e5ce36b0..0516c6dd6 100755 --- a/internal/controller/namespaced/apmsynthetics/script/zz_controller.go +++ b/internal/controller/namespaced/apmsynthetics/script/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Script_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Script_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Script_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Script_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_script"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_synthetics_script"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Script_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/apmtraces/scheduledquery/zz_controller.go b/internal/controller/namespaced/apmtraces/scheduledquery/zz_controller.go index 24fa67267..bd6d7c7d8 100755 --- a/internal/controller/namespaced/apmtraces/scheduledquery/zz_controller.go +++ b/internal/controller/namespaced/apmtraces/scheduledquery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ScheduledQuery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ScheduledQuery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ScheduledQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ScheduledQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_apm_traces_scheduled_query"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_apm_traces_scheduled_query"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ScheduledQuery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/appmgmt/controlmonitorpluginmanagement/zz_controller.go b/internal/controller/namespaced/appmgmt/controlmonitorpluginmanagement/zz_controller.go index 8cc66c24b..11365ba4d 100755 --- a/internal/controller/namespaced/appmgmt/controlmonitorpluginmanagement/zz_controller.go +++ b/internal/controller/namespaced/appmgmt/controlmonitorpluginmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ControlMonitorPluginManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ControlMonitorPluginManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ControlMonitorPluginManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ControlMonitorPluginManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_appmgmt_control_monitor_plugin_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_appmgmt_control_monitor_plugin_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ControlMonitorPluginManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/artifacts/containerconfiguration/zz_controller.go b/internal/controller/namespaced/artifacts/containerconfiguration/zz_controller.go index 8cbc93607..e539480cf 100755 --- a/internal/controller/namespaced/artifacts/containerconfiguration/zz_controller.go +++ b/internal/controller/namespaced/artifacts/containerconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ContainerConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ContainerConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_artifacts_container_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_artifacts_container_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ContainerConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/artifacts/containerimagesignature/zz_controller.go b/internal/controller/namespaced/artifacts/containerimagesignature/zz_controller.go index 157578e3b..04ae1ddb0 100755 --- a/internal/controller/namespaced/artifacts/containerimagesignature/zz_controller.go +++ b/internal/controller/namespaced/artifacts/containerimagesignature/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ContainerImageSignature_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ContainerImageSignature_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerImageSignature_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerImageSignature_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_artifacts_container_image_signature"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_artifacts_container_image_signature"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ContainerImageSignature_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/artifacts/containerrepository/zz_controller.go b/internal/controller/namespaced/artifacts/containerrepository/zz_controller.go index c2790b439..37505ed9d 100755 --- a/internal/controller/namespaced/artifacts/containerrepository/zz_controller.go +++ b/internal/controller/namespaced/artifacts/containerrepository/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ContainerRepository_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ContainerRepository_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerRepository_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerRepository_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_artifacts_container_repository"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_artifacts_container_repository"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ContainerRepository_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/artifacts/genericartifact/zz_controller.go b/internal/controller/namespaced/artifacts/genericartifact/zz_controller.go index 34152bce8..b731e7abb 100755 --- a/internal/controller/namespaced/artifacts/genericartifact/zz_controller.go +++ b/internal/controller/namespaced/artifacts/genericartifact/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.GenericArtifact_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.GenericArtifact_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GenericArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GenericArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_artifacts_generic_artifact"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_artifacts_generic_artifact"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.GenericArtifact_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/artifacts/repository/zz_controller.go b/internal/controller/namespaced/artifacts/repository/zz_controller.go index d4c4f8c58..6706f4fe3 100755 --- a/internal/controller/namespaced/artifacts/repository/zz_controller.go +++ b/internal/controller/namespaced/artifacts/repository/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Repository_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Repository_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Repository_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Repository_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_artifacts_repository"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_artifacts_repository"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Repository_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/audit/configuration/zz_controller.go b/internal/controller/namespaced/audit/configuration/zz_controller.go index 529578a30..702c4246c 100755 --- a/internal/controller/namespaced/audit/configuration/zz_controller.go +++ b/internal/controller/namespaced/audit/configuration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Configuration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Configuration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_audit_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_audit_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Configuration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/autoscaling/autoscalingconfiguration/zz_controller.go b/internal/controller/namespaced/autoscaling/autoscalingconfiguration/zz_controller.go index f351bb984..aa4ed8184 100755 --- a/internal/controller/namespaced/autoscaling/autoscalingconfiguration/zz_controller.go +++ b/internal/controller/namespaced/autoscaling/autoscalingconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutoScalingConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutoScalingConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutoScalingConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutoScalingConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_autoscaling_auto_scaling_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_autoscaling_auto_scaling_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutoScalingConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bastion/bastion/zz_controller.go b/internal/controller/namespaced/bastion/bastion/zz_controller.go index 117fd46f8..fa84e593f 100755 --- a/internal/controller/namespaced/bastion/bastion/zz_controller.go +++ b/internal/controller/namespaced/bastion/bastion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Bastion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Bastion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Bastion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Bastion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bastion_bastion"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bastion_bastion"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Bastion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bastion/session/zz_controller.go b/internal/controller/namespaced/bastion/session/zz_controller.go index c3afaf63f..fb965fbb1 100755 --- a/internal/controller/namespaced/bastion/session/zz_controller.go +++ b/internal/controller/namespaced/bastion/session/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Session_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Session_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Session_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Session_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bastion_session"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bastion_session"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Session_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/batch/batchcontext/zz_controller.go b/internal/controller/namespaced/batch/batchcontext/zz_controller.go index fc9fa2d80..5e135b058 100755 --- a/internal/controller/namespaced/batch/batchcontext/zz_controller.go +++ b/internal/controller/namespaced/batch/batchcontext/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BatchContext_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BatchContext_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchContext_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchContext_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_context"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_context"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BatchContext_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/batch/batchjobpool/zz_controller.go b/internal/controller/namespaced/batch/batchjobpool/zz_controller.go index 4eaba9041..f99fe3dc0 100755 --- a/internal/controller/namespaced/batch/batchjobpool/zz_controller.go +++ b/internal/controller/namespaced/batch/batchjobpool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BatchJobPool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BatchJobPool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchJobPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchJobPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_job_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_job_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BatchJobPool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/batch/batchtaskenvironment/zz_controller.go b/internal/controller/namespaced/batch/batchtaskenvironment/zz_controller.go index 1418e22a4..cad3ea014 100755 --- a/internal/controller/namespaced/batch/batchtaskenvironment/zz_controller.go +++ b/internal/controller/namespaced/batch/batchtaskenvironment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BatchTaskEnvironment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BatchTaskEnvironment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchTaskEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchTaskEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_task_environment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_task_environment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BatchTaskEnvironment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/batch/batchtaskprofile/zz_controller.go b/internal/controller/namespaced/batch/batchtaskprofile/zz_controller.go index 7fcbbc5fe..af5f225a8 100755 --- a/internal/controller/namespaced/batch/batchtaskprofile/zz_controller.go +++ b/internal/controller/namespaced/batch/batchtaskprofile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BatchTaskProfile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BatchTaskProfile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchTaskProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BatchTaskProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_task_profile"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_batch_batch_task_profile"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BatchTaskProfile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/autoscalingconfiguration/zz_controller.go b/internal/controller/namespaced/bds/autoscalingconfiguration/zz_controller.go index dcd1064da..4797487bc 100755 --- a/internal/controller/namespaced/bds/autoscalingconfiguration/zz_controller.go +++ b/internal/controller/namespaced/bds/autoscalingconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutoScalingConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutoScalingConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutoScalingConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutoScalingConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_auto_scaling_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_auto_scaling_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutoScalingConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdscapacityreport/zz_controller.go b/internal/controller/namespaced/bds/bdscapacityreport/zz_controller.go index 0ba3d3676..35c93e2f0 100755 --- a/internal/controller/namespaced/bds/bdscapacityreport/zz_controller.go +++ b/internal/controller/namespaced/bds/bdscapacityreport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsCapacityReport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsCapacityReport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsCapacityReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsCapacityReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_capacity_report"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_capacity_report"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsCapacityReport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsclusteradminpasswordresetaction/zz_controller.go b/internal/controller/namespaced/bds/bdsclusteradminpasswordresetaction/zz_controller.go index 8a4629483..bbf455129 100755 --- a/internal/controller/namespaced/bds/bdsclusteradminpasswordresetaction/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsclusteradminpasswordresetaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsClusterAdminPasswordResetAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsClusterAdminPasswordResetAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsClusterAdminPasswordResetAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsClusterAdminPasswordResetAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_cluster_admin_password_reset_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_cluster_admin_password_reset_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsClusterAdminPasswordResetAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstance/zz_controller.go b/internal/controller/namespaced/bds/bdsinstance/zz_controller.go index b8ce566db..92a7aef43 100755 --- a/internal/controller/namespaced/bds/bdsinstance/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstanceapikey/zz_controller.go b/internal/controller/namespaced/bds/bdsinstanceapikey/zz_controller.go index c4e292ff1..c5ad7371e 100755 --- a/internal/controller/namespaced/bds/bdsinstanceapikey/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstanceapikey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceApiKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceApiKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_api_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_api_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceApiKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstancebdscertificateconfiguration/zz_controller.go b/internal/controller/namespaced/bds/bdsinstancebdscertificateconfiguration/zz_controller.go index 3cc9be5a7..23f6f3453 100755 --- a/internal/controller/namespaced/bds/bdsinstancebdscertificateconfiguration/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstancebdscertificateconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceBdsCertificateConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceBdsCertificateConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceBdsCertificateConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceBdsCertificateConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_bds_certificate_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_bds_certificate_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceBdsCertificateConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstanceexecutebootstrapscriptaction/zz_controller.go b/internal/controller/namespaced/bds/bdsinstanceexecutebootstrapscriptaction/zz_controller.go index 7cc50caf2..6508c36b9 100755 --- a/internal/controller/namespaced/bds/bdsinstanceexecutebootstrapscriptaction/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstanceexecutebootstrapscriptaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceExecuteBootstrapScriptAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceExecuteBootstrapScriptAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceExecuteBootstrapScriptAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceExecuteBootstrapScriptAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_execute_bootstrap_script_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_execute_bootstrap_script_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceExecuteBootstrapScriptAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstanceidentityconfiguration/zz_controller.go b/internal/controller/namespaced/bds/bdsinstanceidentityconfiguration/zz_controller.go index 1b1df6100..ec86951e3 100755 --- a/internal/controller/namespaced/bds/bdsinstanceidentityconfiguration/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstanceidentityconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceIdentityConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceIdentityConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceIdentityConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceIdentityConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_identity_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_identity_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceIdentityConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstancemetastoreconfig/zz_controller.go b/internal/controller/namespaced/bds/bdsinstancemetastoreconfig/zz_controller.go index 80b43bb24..857edad36 100755 --- a/internal/controller/namespaced/bds/bdsinstancemetastoreconfig/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstancemetastoreconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceMetastoreConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceMetastoreConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceMetastoreConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceMetastoreConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_metastore_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_metastore_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceMetastoreConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstancenodebackup/zz_controller.go b/internal/controller/namespaced/bds/bdsinstancenodebackup/zz_controller.go index a3b4152e0..ff6d2547c 100755 --- a/internal/controller/namespaced/bds/bdsinstancenodebackup/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstancenodebackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceNodeBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceNodeBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceNodeBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceNodeBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_node_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_node_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceNodeBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstancenodebackupconfiguration/zz_controller.go b/internal/controller/namespaced/bds/bdsinstancenodebackupconfiguration/zz_controller.go index 69ea781c5..eaca118af 100755 --- a/internal/controller/namespaced/bds/bdsinstancenodebackupconfiguration/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstancenodebackupconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceNodeBackupConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceNodeBackupConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceNodeBackupConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceNodeBackupConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_node_backup_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_node_backup_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceNodeBackupConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstancenodereplaceconfiguration/zz_controller.go b/internal/controller/namespaced/bds/bdsinstancenodereplaceconfiguration/zz_controller.go index 3c77b9a08..db157d3a1 100755 --- a/internal/controller/namespaced/bds/bdsinstancenodereplaceconfiguration/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstancenodereplaceconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceNodeReplaceConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceNodeReplaceConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceNodeReplaceConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceNodeReplaceConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_node_replace_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_node_replace_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceNodeReplaceConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstanceoperationcertificatemanagementsmanagement/zz_controller.go b/internal/controller/namespaced/bds/bdsinstanceoperationcertificatemanagementsmanagement/zz_controller.go index 67aa38c87..b5d83ee6e 100755 --- a/internal/controller/namespaced/bds/bdsinstanceoperationcertificatemanagementsmanagement/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstanceoperationcertificatemanagementsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceOperationCertificateManagementsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceOperationCertificateManagementsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceOperationCertificateManagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceOperationCertificateManagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_operation_certificate_managements_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_operation_certificate_managements_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceOperationCertificateManagementsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstanceospatchaction/zz_controller.go b/internal/controller/namespaced/bds/bdsinstanceospatchaction/zz_controller.go index 4458bef91..8ef4e8404 100755 --- a/internal/controller/namespaced/bds/bdsinstanceospatchaction/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstanceospatchaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceOsPatchAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceOsPatchAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceOsPatchAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceOsPatchAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_os_patch_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_os_patch_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceOsPatchAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstancepatchaction/zz_controller.go b/internal/controller/namespaced/bds/bdsinstancepatchaction/zz_controller.go index b9b253707..75d789a93 100755 --- a/internal/controller/namespaced/bds/bdsinstancepatchaction/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstancepatchaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstancePatchAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstancePatchAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstancePatchAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstancePatchAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_patch_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_patch_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstancePatchAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstancereplacenodeaction/zz_controller.go b/internal/controller/namespaced/bds/bdsinstancereplacenodeaction/zz_controller.go index 94bdb4d1e..268dac118 100755 --- a/internal/controller/namespaced/bds/bdsinstancereplacenodeaction/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstancereplacenodeaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceReplaceNodeAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceReplaceNodeAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceReplaceNodeAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceReplaceNodeAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_replace_node_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_replace_node_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceReplaceNodeAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstanceresourceprincipalconfiguration/zz_controller.go b/internal/controller/namespaced/bds/bdsinstanceresourceprincipalconfiguration/zz_controller.go index 6f5c88681..9ca2ae324 100755 --- a/internal/controller/namespaced/bds/bdsinstanceresourceprincipalconfiguration/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstanceresourceprincipalconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceResourcePrincipalConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceResourcePrincipalConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceResourcePrincipalConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceResourcePrincipalConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_resource_principal_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_resource_principal_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceResourcePrincipalConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/bds/bdsinstancesoftwareupdateaction/zz_controller.go b/internal/controller/namespaced/bds/bdsinstancesoftwareupdateaction/zz_controller.go index bc95e2c4a..076af8aef 100755 --- a/internal/controller/namespaced/bds/bdsinstancesoftwareupdateaction/zz_controller.go +++ b/internal/controller/namespaced/bds/bdsinstancesoftwareupdateaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BdsInstanceSoftwareUpdateAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BdsInstanceSoftwareUpdateAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceSoftwareUpdateAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BdsInstanceSoftwareUpdateAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_software_update_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_bds_bds_instance_software_update_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BdsInstanceSoftwareUpdateAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/blockchain/blockchainplatform/zz_controller.go b/internal/controller/namespaced/blockchain/blockchainplatform/zz_controller.go index fe3e5c314..a6fd2e25c 100755 --- a/internal/controller/namespaced/blockchain/blockchainplatform/zz_controller.go +++ b/internal/controller/namespaced/blockchain/blockchainplatform/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BlockchainPlatform_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BlockchainPlatform_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BlockchainPlatform_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BlockchainPlatform_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_blockchain_blockchain_platform"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_blockchain_blockchain_platform"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BlockchainPlatform_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/blockchain/osn/zz_controller.go b/internal/controller/namespaced/blockchain/osn/zz_controller.go index 42a18c8c7..44fe0fea0 100755 --- a/internal/controller/namespaced/blockchain/osn/zz_controller.go +++ b/internal/controller/namespaced/blockchain/osn/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Osn_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Osn_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Osn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Osn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_blockchain_osn"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_blockchain_osn"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Osn_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/blockchain/peer/zz_controller.go b/internal/controller/namespaced/blockchain/peer/zz_controller.go index 46ec3727c..2ad9e359a 100755 --- a/internal/controller/namespaced/blockchain/peer/zz_controller.go +++ b/internal/controller/namespaced/blockchain/peer/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Peer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Peer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Peer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Peer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_blockchain_peer"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_blockchain_peer"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Peer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/blockstorage/bootvolume/zz_controller.go b/internal/controller/namespaced/blockstorage/bootvolume/zz_controller.go index 13d54fd74..dfe655fd6 100755 --- a/internal/controller/namespaced/blockstorage/bootvolume/zz_controller.go +++ b/internal/controller/namespaced/blockstorage/bootvolume/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BootVolume_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BootVolume_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BootVolume_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BootVolume_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_boot_volume"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_boot_volume"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BootVolume_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/blockstorage/bootvolumebackup/zz_controller.go b/internal/controller/namespaced/blockstorage/bootvolumebackup/zz_controller.go index 589f46c66..d28429e09 100755 --- a/internal/controller/namespaced/blockstorage/bootvolumebackup/zz_controller.go +++ b/internal/controller/namespaced/blockstorage/bootvolumebackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BootVolumeBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BootVolumeBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BootVolumeBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BootVolumeBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_boot_volume_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_boot_volume_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BootVolumeBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/blockstorage/volume/zz_controller.go b/internal/controller/namespaced/blockstorage/volume/zz_controller.go index 785282da3..71e0f3c32 100755 --- a/internal/controller/namespaced/blockstorage/volume/zz_controller.go +++ b/internal/controller/namespaced/blockstorage/volume/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Volume_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Volume_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Volume_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Volume_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Volume_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/blockstorage/volumeattachment/zz_controller.go b/internal/controller/namespaced/blockstorage/volumeattachment/zz_controller.go index 6e397bb64..b427fe229 100755 --- a/internal/controller/namespaced/blockstorage/volumeattachment/zz_controller.go +++ b/internal/controller/namespaced/blockstorage/volumeattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VolumeAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VolumeAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VolumeAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/blockstorage/volumebackup/zz_controller.go b/internal/controller/namespaced/blockstorage/volumebackup/zz_controller.go index a81f578b2..324850d55 100755 --- a/internal/controller/namespaced/blockstorage/volumebackup/zz_controller.go +++ b/internal/controller/namespaced/blockstorage/volumebackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VolumeBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VolumeBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VolumeBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/blockstorage/volumebackuppolicy/zz_controller.go b/internal/controller/namespaced/blockstorage/volumebackuppolicy/zz_controller.go index e1c329d64..5bb2c01d6 100755 --- a/internal/controller/namespaced/blockstorage/volumebackuppolicy/zz_controller.go +++ b/internal/controller/namespaced/blockstorage/volumebackuppolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VolumeBackupPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VolumeBackupPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeBackupPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeBackupPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume_backup_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume_backup_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VolumeBackupPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/blockstorage/volumebackuppolicyassignment/zz_controller.go b/internal/controller/namespaced/blockstorage/volumebackuppolicyassignment/zz_controller.go index 7ce9cae2c..c5da5f200 100755 --- a/internal/controller/namespaced/blockstorage/volumebackuppolicyassignment/zz_controller.go +++ b/internal/controller/namespaced/blockstorage/volumebackuppolicyassignment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VolumeBackupPolicyAssignment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VolumeBackupPolicyAssignment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeBackupPolicyAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeBackupPolicyAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume_backup_policy_assignment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume_backup_policy_assignment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VolumeBackupPolicyAssignment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/blockstorage/volumegroup/zz_controller.go b/internal/controller/namespaced/blockstorage/volumegroup/zz_controller.go index 01e61875f..1d9f68135 100755 --- a/internal/controller/namespaced/blockstorage/volumegroup/zz_controller.go +++ b/internal/controller/namespaced/blockstorage/volumegroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VolumeGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VolumeGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VolumeGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/blockstorage/volumegroupbackup/zz_controller.go b/internal/controller/namespaced/blockstorage/volumegroupbackup/zz_controller.go index 9c2ec626e..b0eee2018 100755 --- a/internal/controller/namespaced/blockstorage/volumegroupbackup/zz_controller.go +++ b/internal/controller/namespaced/blockstorage/volumegroupbackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VolumeGroupBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VolumeGroupBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeGroupBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VolumeGroupBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_volume_group_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_volume_group_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VolumeGroupBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/budget/alertrule/zz_controller.go b/internal/controller/namespaced/budget/alertrule/zz_controller.go index f50918005..0062fdcb6 100755 --- a/internal/controller/namespaced/budget/alertrule/zz_controller.go +++ b/internal/controller/namespaced/budget/alertrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AlertRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AlertRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlertRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlertRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_budget_alert_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_budget_alert_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AlertRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/budget/budget/zz_controller.go b/internal/controller/namespaced/budget/budget/zz_controller.go index 619f48d5a..bf7c76020 100755 --- a/internal/controller/namespaced/budget/budget/zz_controller.go +++ b/internal/controller/namespaced/budget/budget/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Budget_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Budget_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Budget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Budget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_budget_budget"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_budget_budget"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Budget_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/budget/costalertsubscription/zz_controller.go b/internal/controller/namespaced/budget/costalertsubscription/zz_controller.go index b596ce746..c7bac1b99 100755 --- a/internal/controller/namespaced/budget/costalertsubscription/zz_controller.go +++ b/internal/controller/namespaced/budget/costalertsubscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAlertSubscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAlertSubscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAlertSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAlertSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_alert_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_alert_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAlertSubscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/budget/costanomalyevent/zz_controller.go b/internal/controller/namespaced/budget/costanomalyevent/zz_controller.go index 5ab2b7cbc..45d9867ec 100755 --- a/internal/controller/namespaced/budget/costanomalyevent/zz_controller.go +++ b/internal/controller/namespaced/budget/costanomalyevent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAnomalyEvent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAnomalyEvent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyEvent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyEvent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_anomaly_event"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_anomaly_event"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAnomalyEvent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/budget/costanomalymonitor/zz_controller.go b/internal/controller/namespaced/budget/costanomalymonitor/zz_controller.go index 7a86e2945..08df5d7d9 100755 --- a/internal/controller/namespaced/budget/costanomalymonitor/zz_controller.go +++ b/internal/controller/namespaced/budget/costanomalymonitor/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAnomalyMonitor_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAnomalyMonitor_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_anomaly_monitor"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_anomaly_monitor"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAnomalyMonitor_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/budget/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go b/internal/controller/namespaced/budget/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go index e7f9f2374..ba571aa8d 100755 --- a/internal/controller/namespaced/budget/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go +++ b/internal/controller/namespaced/budget/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_anomaly_monitor_costanomalymonitorenabletoggles_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_budget_cost_anomaly_monitor_costanomalymonitorenabletoggles_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/capacitymanagement/internaloccmdemandsignal/zz_controller.go b/internal/controller/namespaced/capacitymanagement/internaloccmdemandsignal/zz_controller.go index 26516a333..654ed0589 100755 --- a/internal/controller/namespaced/capacitymanagement/internaloccmdemandsignal/zz_controller.go +++ b/internal/controller/namespaced/capacitymanagement/internaloccmdemandsignal/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InternalOccmDemandSignal_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InternalOccmDemandSignal_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InternalOccmDemandSignal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InternalOccmDemandSignal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_internal_occm_demand_signal"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_internal_occm_demand_signal"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InternalOccmDemandSignal_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/capacitymanagement/internaloccmdemandsignaldelivery/zz_controller.go b/internal/controller/namespaced/capacitymanagement/internaloccmdemandsignaldelivery/zz_controller.go index cce46dec8..01c532430 100755 --- a/internal/controller/namespaced/capacitymanagement/internaloccmdemandsignaldelivery/zz_controller.go +++ b/internal/controller/namespaced/capacitymanagement/internaloccmdemandsignaldelivery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InternalOccmDemandSignalDelivery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InternalOccmDemandSignalDelivery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InternalOccmDemandSignalDelivery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InternalOccmDemandSignalDelivery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_internal_occm_demand_signal_delivery"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_internal_occm_demand_signal_delivery"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InternalOccmDemandSignalDelivery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/capacitymanagement/occavailabilitycatalog/zz_controller.go b/internal/controller/namespaced/capacitymanagement/occavailabilitycatalog/zz_controller.go index 0c5fdbda0..cc3e2b63f 100755 --- a/internal/controller/namespaced/capacitymanagement/occavailabilitycatalog/zz_controller.go +++ b/internal/controller/namespaced/capacitymanagement/occavailabilitycatalog/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccAvailabilityCatalog_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccAvailabilityCatalog_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccAvailabilityCatalog_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccAvailabilityCatalog_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_availability_catalog"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_availability_catalog"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccAvailabilityCatalog_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/capacitymanagement/occcapacityrequest/zz_controller.go b/internal/controller/namespaced/capacitymanagement/occcapacityrequest/zz_controller.go index 164c1bb6b..923ec5210 100755 --- a/internal/controller/namespaced/capacitymanagement/occcapacityrequest/zz_controller.go +++ b/internal/controller/namespaced/capacitymanagement/occcapacityrequest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccCapacityRequest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccCapacityRequest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccCapacityRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccCapacityRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_capacity_request"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_capacity_request"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccCapacityRequest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/capacitymanagement/occcustomergroup/zz_controller.go b/internal/controller/namespaced/capacitymanagement/occcustomergroup/zz_controller.go index e6c0ec555..5775c0d97 100755 --- a/internal/controller/namespaced/capacitymanagement/occcustomergroup/zz_controller.go +++ b/internal/controller/namespaced/capacitymanagement/occcustomergroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccCustomerGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccCustomerGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccCustomerGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccCustomerGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_customer_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_customer_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccCustomerGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/capacitymanagement/occcustomergroupocccustomer/zz_controller.go b/internal/controller/namespaced/capacitymanagement/occcustomergroupocccustomer/zz_controller.go index f0e44fc13..725d026e9 100755 --- a/internal/controller/namespaced/capacitymanagement/occcustomergroupocccustomer/zz_controller.go +++ b/internal/controller/namespaced/capacitymanagement/occcustomergroupocccustomer/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccCustomerGroupOccCustomer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccCustomerGroupOccCustomer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccCustomerGroupOccCustomer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccCustomerGroupOccCustomer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_customer_group_occ_customer"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occ_customer_group_occ_customer"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccCustomerGroupOccCustomer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/capacitymanagement/occmdemandsignal/zz_controller.go b/internal/controller/namespaced/capacitymanagement/occmdemandsignal/zz_controller.go index b40ee112c..924e594b3 100755 --- a/internal/controller/namespaced/capacitymanagement/occmdemandsignal/zz_controller.go +++ b/internal/controller/namespaced/capacitymanagement/occmdemandsignal/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccmDemandSignal_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccmDemandSignal_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccmDemandSignal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccmDemandSignal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occm_demand_signal"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occm_demand_signal"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccmDemandSignal_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/capacitymanagement/occmdemandsignalitem/zz_controller.go b/internal/controller/namespaced/capacitymanagement/occmdemandsignalitem/zz_controller.go index 323951c3e..e1f5c3c16 100755 --- a/internal/controller/namespaced/capacitymanagement/occmdemandsignalitem/zz_controller.go +++ b/internal/controller/namespaced/capacitymanagement/occmdemandsignalitem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccmDemandSignalItem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccmDemandSignalItem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccmDemandSignalItem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccmDemandSignalItem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occm_demand_signal_item"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_capacity_management_occm_demand_signal_item"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccmDemandSignalItem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/certificatesmanagement/cabundle/zz_controller.go b/internal/controller/namespaced/certificatesmanagement/cabundle/zz_controller.go index 623a70c01..812fdeeae 100755 --- a/internal/controller/namespaced/certificatesmanagement/cabundle/zz_controller.go +++ b/internal/controller/namespaced/certificatesmanagement/cabundle/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CaBundle_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CaBundle_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CaBundle_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CaBundle_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_certificates_management_ca_bundle"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_certificates_management_ca_bundle"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CaBundle_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/certificatesmanagement/certificate/zz_controller.go b/internal/controller/namespaced/certificatesmanagement/certificate/zz_controller.go index 353659b7b..1491eae64 100755 --- a/internal/controller/namespaced/certificatesmanagement/certificate/zz_controller.go +++ b/internal/controller/namespaced/certificatesmanagement/certificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Certificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Certificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_certificates_management_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_certificates_management_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Certificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/certificatesmanagement/certificateauthority/zz_controller.go b/internal/controller/namespaced/certificatesmanagement/certificateauthority/zz_controller.go index 14f11ef92..9bedf8deb 100755 --- a/internal/controller/namespaced/certificatesmanagement/certificateauthority/zz_controller.go +++ b/internal/controller/namespaced/certificatesmanagement/certificateauthority/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CertificateAuthority_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CertificateAuthority_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CertificateAuthority_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CertificateAuthority_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_certificates_management_certificate_authority"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_certificates_management_certificate_authority"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CertificateAuthority_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudbridge/agent/zz_controller.go b/internal/controller/namespaced/cloudbridge/agent/zz_controller.go index fa4f939a8..37fd82079 100755 --- a/internal/controller/namespaced/cloudbridge/agent/zz_controller.go +++ b/internal/controller/namespaced/cloudbridge/agent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Agent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Agent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Agent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Agent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_agent"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_agent"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Agent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudbridge/agentdependency/zz_controller.go b/internal/controller/namespaced/cloudbridge/agentdependency/zz_controller.go index 1a7a6d762..2ce1a0562 100755 --- a/internal/controller/namespaced/cloudbridge/agentdependency/zz_controller.go +++ b/internal/controller/namespaced/cloudbridge/agentdependency/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentDependency_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentDependency_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentDependency_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentDependency_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_agent_dependency"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_agent_dependency"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentDependency_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudbridge/agentplugin/zz_controller.go b/internal/controller/namespaced/cloudbridge/agentplugin/zz_controller.go index e7647814b..5fe220923 100755 --- a/internal/controller/namespaced/cloudbridge/agentplugin/zz_controller.go +++ b/internal/controller/namespaced/cloudbridge/agentplugin/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentPlugin_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentPlugin_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentPlugin_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentPlugin_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_agent_plugin"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_agent_plugin"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentPlugin_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudbridge/asset/zz_controller.go b/internal/controller/namespaced/cloudbridge/asset/zz_controller.go index c211fc7d1..58260913d 100755 --- a/internal/controller/namespaced/cloudbridge/asset/zz_controller.go +++ b/internal/controller/namespaced/cloudbridge/asset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Asset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Asset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Asset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Asset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_asset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_asset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Asset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudbridge/assetsource/zz_controller.go b/internal/controller/namespaced/cloudbridge/assetsource/zz_controller.go index 248f3ae6b..b8a6ef7ee 100755 --- a/internal/controller/namespaced/cloudbridge/assetsource/zz_controller.go +++ b/internal/controller/namespaced/cloudbridge/assetsource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AssetSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AssetSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AssetSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AssetSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_asset_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_asset_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AssetSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudbridge/discoveryschedule/zz_controller.go b/internal/controller/namespaced/cloudbridge/discoveryschedule/zz_controller.go index 774769700..67803ab15 100755 --- a/internal/controller/namespaced/cloudbridge/discoveryschedule/zz_controller.go +++ b/internal/controller/namespaced/cloudbridge/discoveryschedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DiscoverySchedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DiscoverySchedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoverySchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoverySchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_discovery_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_discovery_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DiscoverySchedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudbridge/environment/zz_controller.go b/internal/controller/namespaced/cloudbridge/environment/zz_controller.go index ca183afd5..59402191e 100755 --- a/internal/controller/namespaced/cloudbridge/environment/zz_controller.go +++ b/internal/controller/namespaced/cloudbridge/environment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Environment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Environment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Environment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Environment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_environment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_environment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Environment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudbridge/inventory/zz_controller.go b/internal/controller/namespaced/cloudbridge/inventory/zz_controller.go index df1cef75c..fa4bb233a 100755 --- a/internal/controller/namespaced/cloudbridge/inventory/zz_controller.go +++ b/internal/controller/namespaced/cloudbridge/inventory/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Inventory_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Inventory_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Inventory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Inventory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_inventory"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_bridge_inventory"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Inventory_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudguard/adhocquery/zz_controller.go b/internal/controller/namespaced/cloudguard/adhocquery/zz_controller.go index a1a6bc397..0ca3a7424 100755 --- a/internal/controller/namespaced/cloudguard/adhocquery/zz_controller.go +++ b/internal/controller/namespaced/cloudguard/adhocquery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AdhocQuery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AdhocQuery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdhocQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdhocQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_adhoc_query"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_adhoc_query"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AdhocQuery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudguard/cloudguardconfiguration/zz_controller.go b/internal/controller/namespaced/cloudguard/cloudguardconfiguration/zz_controller.go index a7b6bd49b..403e09ec8 100755 --- a/internal/controller/namespaced/cloudguard/cloudguardconfiguration/zz_controller.go +++ b/internal/controller/namespaced/cloudguard/cloudguardconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudGuardConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudGuardConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGuardConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGuardConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_cloud_guard_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_cloud_guard_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudGuardConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudguard/datamaskrule/zz_controller.go b/internal/controller/namespaced/cloudguard/datamaskrule/zz_controller.go index e6097da38..9f4c2e550 100755 --- a/internal/controller/namespaced/cloudguard/datamaskrule/zz_controller.go +++ b/internal/controller/namespaced/cloudguard/datamaskrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataMaskRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataMaskRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataMaskRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataMaskRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_data_mask_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_data_mask_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataMaskRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudguard/datasource/zz_controller.go b/internal/controller/namespaced/cloudguard/datasource/zz_controller.go index 2f5e5f3d0..24da5a082 100755 --- a/internal/controller/namespaced/cloudguard/datasource/zz_controller.go +++ b/internal/controller/namespaced/cloudguard/datasource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_data_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_data_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudguard/detectorrecipe/zz_controller.go b/internal/controller/namespaced/cloudguard/detectorrecipe/zz_controller.go index 460592455..fd103277a 100755 --- a/internal/controller/namespaced/cloudguard/detectorrecipe/zz_controller.go +++ b/internal/controller/namespaced/cloudguard/detectorrecipe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DetectorRecipe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DetectorRecipe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DetectorRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DetectorRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_detector_recipe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_detector_recipe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DetectorRecipe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudguard/managedlist/zz_controller.go b/internal/controller/namespaced/cloudguard/managedlist/zz_controller.go index 474b388d9..34fc67fc4 100755 --- a/internal/controller/namespaced/cloudguard/managedlist/zz_controller.go +++ b/internal/controller/namespaced/cloudguard/managedlist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_managed_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_managed_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudguard/responderrecipe/zz_controller.go b/internal/controller/namespaced/cloudguard/responderrecipe/zz_controller.go index a5c7d101d..60290d89c 100755 --- a/internal/controller/namespaced/cloudguard/responderrecipe/zz_controller.go +++ b/internal/controller/namespaced/cloudguard/responderrecipe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ResponderRecipe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ResponderRecipe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResponderRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResponderRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_responder_recipe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_responder_recipe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ResponderRecipe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudguard/savedquery/zz_controller.go b/internal/controller/namespaced/cloudguard/savedquery/zz_controller.go index 08ce5863d..7fbb5312d 100755 --- a/internal/controller/namespaced/cloudguard/savedquery/zz_controller.go +++ b/internal/controller/namespaced/cloudguard/savedquery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SavedQuery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SavedQuery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SavedQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SavedQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_saved_query"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_saved_query"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SavedQuery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudguard/securityrecipe/zz_controller.go b/internal/controller/namespaced/cloudguard/securityrecipe/zz_controller.go index a58b2f02a..01326054c 100755 --- a/internal/controller/namespaced/cloudguard/securityrecipe/zz_controller.go +++ b/internal/controller/namespaced/cloudguard/securityrecipe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityRecipe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityRecipe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_security_recipe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_security_recipe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityRecipe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudguard/securityzone/zz_controller.go b/internal/controller/namespaced/cloudguard/securityzone/zz_controller.go index 06f4b2fa7..506d204cb 100755 --- a/internal/controller/namespaced/cloudguard/securityzone/zz_controller.go +++ b/internal/controller/namespaced/cloudguard/securityzone/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityZone_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityZone_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityZone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityZone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_security_zone"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_security_zone"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityZone_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudguard/target/zz_controller.go b/internal/controller/namespaced/cloudguard/target/zz_controller.go index e6e3bf257..036884def 100755 --- a/internal/controller/namespaced/cloudguard/target/zz_controller.go +++ b/internal/controller/namespaced/cloudguard/target/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Target_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Target_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Target_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Target_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_target"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_target"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Target_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudguard/wlpagent/zz_controller.go b/internal/controller/namespaced/cloudguard/wlpagent/zz_controller.go index ab35637be..a4b4cb0f4 100755 --- a/internal/controller/namespaced/cloudguard/wlpagent/zz_controller.go +++ b/internal/controller/namespaced/cloudguard/wlpagent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WlpAgent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WlpAgent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WlpAgent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WlpAgent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_wlp_agent"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_guard_wlp_agent"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WlpAgent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudmigrations/migration/zz_controller.go b/internal/controller/namespaced/cloudmigrations/migration/zz_controller.go index 68b0d570a..6a3615203 100755 --- a/internal/controller/namespaced/cloudmigrations/migration/zz_controller.go +++ b/internal/controller/namespaced/cloudmigrations/migration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Migration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Migration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Migration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Migration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_migration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_migration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Migration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudmigrations/migrationasset/zz_controller.go b/internal/controller/namespaced/cloudmigrations/migrationasset/zz_controller.go index 955507a38..0b44f1610 100755 --- a/internal/controller/namespaced/cloudmigrations/migrationasset/zz_controller.go +++ b/internal/controller/namespaced/cloudmigrations/migrationasset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationAsset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationAsset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_migration_asset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_migration_asset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationAsset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudmigrations/migrationplan/zz_controller.go b/internal/controller/namespaced/cloudmigrations/migrationplan/zz_controller.go index c75d337c2..840867b25 100755 --- a/internal/controller/namespaced/cloudmigrations/migrationplan/zz_controller.go +++ b/internal/controller/namespaced/cloudmigrations/migrationplan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationPlan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationPlan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_migration_plan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_migration_plan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationPlan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudmigrations/replicationschedule/zz_controller.go b/internal/controller/namespaced/cloudmigrations/replicationschedule/zz_controller.go index 5b04cce23..f0c8f7180 100755 --- a/internal/controller/namespaced/cloudmigrations/replicationschedule/zz_controller.go +++ b/internal/controller/namespaced/cloudmigrations/replicationschedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ReplicationSchedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ReplicationSchedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ReplicationSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ReplicationSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_replication_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_replication_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ReplicationSchedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/cloudmigrations/targetasset/zz_controller.go b/internal/controller/namespaced/cloudmigrations/targetasset/zz_controller.go index 35e73a290..dbb06c7a5 100755 --- a/internal/controller/namespaced/cloudmigrations/targetasset/zz_controller.go +++ b/internal/controller/namespaced/cloudmigrations/targetasset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TargetAsset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TargetAsset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_target_asset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cloud_migrations_target_asset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TargetAsset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/clusterplacementgroups/clusterplacementgroup/zz_controller.go b/internal/controller/namespaced/clusterplacementgroups/clusterplacementgroup/zz_controller.go index ea1ebfd35..46afb8e54 100755 --- a/internal/controller/namespaced/clusterplacementgroups/clusterplacementgroup/zz_controller.go +++ b/internal/controller/namespaced/clusterplacementgroups/clusterplacementgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClusterPlacementGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ClusterPlacementGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterPlacementGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterPlacementGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_cluster_placement_groups_cluster_placement_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_cluster_placement_groups_cluster_placement_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ClusterPlacementGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/appcataloglistingresourceversionagreement/zz_controller.go b/internal/controller/namespaced/compute/appcataloglistingresourceversionagreement/zz_controller.go index ccf8f0128..24f628851 100755 --- a/internal/controller/namespaced/compute/appcataloglistingresourceversionagreement/zz_controller.go +++ b/internal/controller/namespaced/compute/appcataloglistingresourceversionagreement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AppCatalogListingResourceVersionAgreement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AppCatalogListingResourceVersionAgreement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AppCatalogListingResourceVersionAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AppCatalogListingResourceVersionAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_app_catalog_listing_resource_version_agreement"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_app_catalog_listing_resource_version_agreement"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AppCatalogListingResourceVersionAgreement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/appcatalogsubscription/zz_controller.go b/internal/controller/namespaced/compute/appcatalogsubscription/zz_controller.go index 50418f55e..6e3d414a7 100755 --- a/internal/controller/namespaced/compute/appcatalogsubscription/zz_controller.go +++ b/internal/controller/namespaced/compute/appcatalogsubscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AppCatalogSubscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AppCatalogSubscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AppCatalogSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AppCatalogSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_app_catalog_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_app_catalog_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AppCatalogSubscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/clusternetwork/zz_controller.go b/internal/controller/namespaced/compute/clusternetwork/zz_controller.go index 8426c3a51..21181d180 100755 --- a/internal/controller/namespaced/compute/clusternetwork/zz_controller.go +++ b/internal/controller/namespaced/compute/clusternetwork/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClusterNetwork_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ClusterNetwork_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterNetwork_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterNetwork_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_cluster_network"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_cluster_network"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ClusterNetwork_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/computecapacityreport/zz_controller.go b/internal/controller/namespaced/compute/computecapacityreport/zz_controller.go index bdb0af926..c7194b4a2 100755 --- a/internal/controller/namespaced/compute/computecapacityreport/zz_controller.go +++ b/internal/controller/namespaced/compute/computecapacityreport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeCapacityReport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeCapacityReport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCapacityReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCapacityReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_capacity_report"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_capacity_report"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeCapacityReport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/computecapacityreservation/zz_controller.go b/internal/controller/namespaced/compute/computecapacityreservation/zz_controller.go index 03a194439..2e25be937 100755 --- a/internal/controller/namespaced/compute/computecapacityreservation/zz_controller.go +++ b/internal/controller/namespaced/compute/computecapacityreservation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeCapacityReservation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeCapacityReservation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCapacityReservation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCapacityReservation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_capacity_reservation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_capacity_reservation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeCapacityReservation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/computecapacitytopology/zz_controller.go b/internal/controller/namespaced/compute/computecapacitytopology/zz_controller.go index 6677c2488..69de46d16 100755 --- a/internal/controller/namespaced/compute/computecapacitytopology/zz_controller.go +++ b/internal/controller/namespaced/compute/computecapacitytopology/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeCapacityTopology_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeCapacityTopology_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCapacityTopology_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCapacityTopology_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_capacity_topology"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_capacity_topology"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeCapacityTopology_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/computecluster/zz_controller.go b/internal/controller/namespaced/compute/computecluster/zz_controller.go index 60ad9de1e..c23f5e577 100755 --- a/internal/controller/namespaced/compute/computecluster/zz_controller.go +++ b/internal/controller/namespaced/compute/computecluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/computegpumemorycluster/zz_controller.go b/internal/controller/namespaced/compute/computegpumemorycluster/zz_controller.go index a8669f591..1dbf49257 100755 --- a/internal/controller/namespaced/compute/computegpumemorycluster/zz_controller.go +++ b/internal/controller/namespaced/compute/computegpumemorycluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeGpuMemoryCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeGpuMemoryCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeGpuMemoryCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeGpuMemoryCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_gpu_memory_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_gpu_memory_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeGpuMemoryCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/computegpumemoryfabric/zz_controller.go b/internal/controller/namespaced/compute/computegpumemoryfabric/zz_controller.go index 6ba02e4e6..8aa7ee75e 100755 --- a/internal/controller/namespaced/compute/computegpumemoryfabric/zz_controller.go +++ b/internal/controller/namespaced/compute/computegpumemoryfabric/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeGpuMemoryFabric_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeGpuMemoryFabric_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeGpuMemoryFabric_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeGpuMemoryFabric_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_gpu_memory_fabric"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_gpu_memory_fabric"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeGpuMemoryFabric_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/computehost/zz_controller.go b/internal/controller/namespaced/compute/computehost/zz_controller.go index 545980a11..15a01e163 100755 --- a/internal/controller/namespaced/compute/computehost/zz_controller.go +++ b/internal/controller/namespaced/compute/computehost/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeHost_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeHost_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeHost_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeHost_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_host"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_host"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeHost_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/computehostgroup/zz_controller.go b/internal/controller/namespaced/compute/computehostgroup/zz_controller.go index df70c504e..c237b0ea7 100755 --- a/internal/controller/namespaced/compute/computehostgroup/zz_controller.go +++ b/internal/controller/namespaced/compute/computehostgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeHostGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeHostGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeHostGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeHostGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_host_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_host_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeHostGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/computeimagecapabilityschema/zz_controller.go b/internal/controller/namespaced/compute/computeimagecapabilityschema/zz_controller.go index 8f64623c4..ddd4e7b61 100755 --- a/internal/controller/namespaced/compute/computeimagecapabilityschema/zz_controller.go +++ b/internal/controller/namespaced/compute/computeimagecapabilityschema/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeImageCapabilitySchema_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeImageCapabilitySchema_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeImageCapabilitySchema_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeImageCapabilitySchema_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_compute_image_capability_schema"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_compute_image_capability_schema"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeImageCapabilitySchema_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/consolehistory/zz_controller.go b/internal/controller/namespaced/compute/consolehistory/zz_controller.go index 988ba73eb..fd640dd39 100755 --- a/internal/controller/namespaced/compute/consolehistory/zz_controller.go +++ b/internal/controller/namespaced/compute/consolehistory/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConsoleHistory_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ConsoleHistory_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConsoleHistory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConsoleHistory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_console_history"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_console_history"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ConsoleHistory_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/dedicatedvmhost/zz_controller.go b/internal/controller/namespaced/compute/dedicatedvmhost/zz_controller.go index 0af7bf97c..1ccdf73c4 100755 --- a/internal/controller/namespaced/compute/dedicatedvmhost/zz_controller.go +++ b/internal/controller/namespaced/compute/dedicatedvmhost/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DedicatedVmHost_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DedicatedVmHost_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DedicatedVmHost_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DedicatedVmHost_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_dedicated_vm_host"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_dedicated_vm_host"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DedicatedVmHost_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/image/zz_controller.go b/internal/controller/namespaced/compute/image/zz_controller.go index 1ddaa53e5..2c0989f35 100755 --- a/internal/controller/namespaced/compute/image/zz_controller.go +++ b/internal/controller/namespaced/compute/image/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Image_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Image_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Image_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Image_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_image"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_image"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Image_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/instance/zz_controller.go b/internal/controller/namespaced/compute/instance/zz_controller.go index 3eba11155..749d01b99 100755 --- a/internal/controller/namespaced/compute/instance/zz_controller.go +++ b/internal/controller/namespaced/compute/instance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Instance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Instance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Instance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Instance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Instance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/instanceconfiguration/zz_controller.go b/internal/controller/namespaced/compute/instanceconfiguration/zz_controller.go index 2cfe686fa..7926516df 100755 --- a/internal/controller/namespaced/compute/instanceconfiguration/zz_controller.go +++ b/internal/controller/namespaced/compute/instanceconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InstanceConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InstanceConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstanceConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstanceConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_instance_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_instance_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InstanceConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/instanceconsoleconnection/zz_controller.go b/internal/controller/namespaced/compute/instanceconsoleconnection/zz_controller.go index 1913588b1..c99073186 100755 --- a/internal/controller/namespaced/compute/instanceconsoleconnection/zz_controller.go +++ b/internal/controller/namespaced/compute/instanceconsoleconnection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InstanceConsoleConnection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InstanceConsoleConnection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstanceConsoleConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstanceConsoleConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_instance_console_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_instance_console_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InstanceConsoleConnection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/instancemaintenanceevent/zz_controller.go b/internal/controller/namespaced/compute/instancemaintenanceevent/zz_controller.go index 497ff2944..732c86aa1 100755 --- a/internal/controller/namespaced/compute/instancemaintenanceevent/zz_controller.go +++ b/internal/controller/namespaced/compute/instancemaintenanceevent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InstanceMaintenanceEvent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InstanceMaintenanceEvent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstanceMaintenanceEvent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstanceMaintenanceEvent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_instance_maintenance_event"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_instance_maintenance_event"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InstanceMaintenanceEvent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/instancepool/zz_controller.go b/internal/controller/namespaced/compute/instancepool/zz_controller.go index bb0881497..06b90acb1 100755 --- a/internal/controller/namespaced/compute/instancepool/zz_controller.go +++ b/internal/controller/namespaced/compute/instancepool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InstancePool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InstancePool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstancePool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstancePool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_instance_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_instance_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InstancePool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/instancepoolinstance/zz_controller.go b/internal/controller/namespaced/compute/instancepoolinstance/zz_controller.go index 6e22b4e6c..f184a4f27 100755 --- a/internal/controller/namespaced/compute/instancepoolinstance/zz_controller.go +++ b/internal/controller/namespaced/compute/instancepoolinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InstancePoolInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InstancePoolInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstancePoolInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InstancePoolInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_instance_pool_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_instance_pool_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InstancePoolInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/compute/shapemanagement/zz_controller.go b/internal/controller/namespaced/compute/shapemanagement/zz_controller.go index c37ab12e0..dd0125b9a 100755 --- a/internal/controller/namespaced/compute/shapemanagement/zz_controller.go +++ b/internal/controller/namespaced/compute/shapemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ShapeManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ShapeManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ShapeManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ShapeManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_shape_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_shape_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ShapeManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/computecloudatcustomer/cccinfrastructure/zz_controller.go b/internal/controller/namespaced/computecloudatcustomer/cccinfrastructure/zz_controller.go index d1e3ebc21..d9a40f968 100755 --- a/internal/controller/namespaced/computecloudatcustomer/cccinfrastructure/zz_controller.go +++ b/internal/controller/namespaced/computecloudatcustomer/cccinfrastructure/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CccInfrastructure_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CccInfrastructure_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CccInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CccInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_compute_cloud_at_customer_ccc_infrastructure"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_compute_cloud_at_customer_ccc_infrastructure"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CccInfrastructure_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/computecloudatcustomer/cccupgradeschedule/zz_controller.go b/internal/controller/namespaced/computecloudatcustomer/cccupgradeschedule/zz_controller.go index 3fe4f0106..87565b967 100755 --- a/internal/controller/namespaced/computecloudatcustomer/cccupgradeschedule/zz_controller.go +++ b/internal/controller/namespaced/computecloudatcustomer/cccupgradeschedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CccUpgradeSchedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CccUpgradeSchedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CccUpgradeSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CccUpgradeSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_compute_cloud_at_customer_ccc_upgrade_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_compute_cloud_at_customer_ccc_upgrade_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CccUpgradeSchedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/containerengine/addon/zz_controller.go b/internal/controller/namespaced/containerengine/addon/zz_controller.go index e1ef59def..91ba7a386 100755 --- a/internal/controller/namespaced/containerengine/addon/zz_controller.go +++ b/internal/controller/namespaced/containerengine/addon/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Addon_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Addon_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Addon_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Addon_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_addon"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_addon"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Addon_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/containerengine/cluster/zz_controller.go b/internal/controller/namespaced/containerengine/cluster/zz_controller.go index d479bc260..264c72e2c 100755 --- a/internal/controller/namespaced/containerengine/cluster/zz_controller.go +++ b/internal/controller/namespaced/containerengine/cluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Cluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Cluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Cluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Cluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Cluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/containerengine/clustercompletecredentialrotationmanagement/zz_controller.go b/internal/controller/namespaced/containerengine/clustercompletecredentialrotationmanagement/zz_controller.go index 5090a6673..ab25e203d 100755 --- a/internal/controller/namespaced/containerengine/clustercompletecredentialrotationmanagement/zz_controller.go +++ b/internal/controller/namespaced/containerengine/clustercompletecredentialrotationmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClusterCompleteCredentialRotationManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ClusterCompleteCredentialRotationManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterCompleteCredentialRotationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterCompleteCredentialRotationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_complete_credential_rotation_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_complete_credential_rotation_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ClusterCompleteCredentialRotationManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/containerengine/clusterpublicapiendpointdecommissionmanager/zz_controller.go b/internal/controller/namespaced/containerengine/clusterpublicapiendpointdecommissionmanager/zz_controller.go index 0cb13331a..d60e00830 100755 --- a/internal/controller/namespaced/containerengine/clusterpublicapiendpointdecommissionmanager/zz_controller.go +++ b/internal/controller/namespaced/containerengine/clusterpublicapiendpointdecommissionmanager/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClusterPublicApiEndpointDecommissionManager_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ClusterPublicApiEndpointDecommissionManager_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterPublicApiEndpointDecommissionManager_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterPublicApiEndpointDecommissionManager_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_public_api_endpoint_decommission_manager"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_public_api_endpoint_decommission_manager"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ClusterPublicApiEndpointDecommissionManager_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/containerengine/clusterstartcredentialrotationmanagement/zz_controller.go b/internal/controller/namespaced/containerengine/clusterstartcredentialrotationmanagement/zz_controller.go index 1a7c0f4ec..3ba90699d 100755 --- a/internal/controller/namespaced/containerengine/clusterstartcredentialrotationmanagement/zz_controller.go +++ b/internal/controller/namespaced/containerengine/clusterstartcredentialrotationmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClusterStartCredentialRotationManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ClusterStartCredentialRotationManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterStartCredentialRotationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterStartCredentialRotationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_start_credential_rotation_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_start_credential_rotation_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ClusterStartCredentialRotationManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/containerengine/clusterworkloadmapping/zz_controller.go b/internal/controller/namespaced/containerengine/clusterworkloadmapping/zz_controller.go index d4571cc41..e3932c283 100755 --- a/internal/controller/namespaced/containerengine/clusterworkloadmapping/zz_controller.go +++ b/internal/controller/namespaced/containerengine/clusterworkloadmapping/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClusterWorkloadMapping_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ClusterWorkloadMapping_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterWorkloadMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ClusterWorkloadMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_workload_mapping"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_cluster_workload_mapping"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ClusterWorkloadMapping_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/containerengine/nodepool/zz_controller.go b/internal/controller/namespaced/containerengine/nodepool/zz_controller.go index 8658eaf7c..f9568223c 100755 --- a/internal/controller/namespaced/containerengine/nodepool/zz_controller.go +++ b/internal/controller/namespaced/containerengine/nodepool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NodePool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NodePool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NodePool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NodePool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_node_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_node_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NodePool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/containerengine/virtualnodepool/zz_controller.go b/internal/controller/namespaced/containerengine/virtualnodepool/zz_controller.go index 5d444ee01..79e1f73fa 100755 --- a/internal/controller/namespaced/containerengine/virtualnodepool/zz_controller.go +++ b/internal/controller/namespaced/containerengine/virtualnodepool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VirtualNodePool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VirtualNodePool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VirtualNodePool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VirtualNodePool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_containerengine_virtual_node_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_containerengine_virtual_node_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VirtualNodePool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/containerinstances/containerinstance/zz_controller.go b/internal/controller/namespaced/containerinstances/containerinstance/zz_controller.go index bcc702203..9ecf5d3d0 100755 --- a/internal/controller/namespaced/containerinstances/containerinstance/zz_controller.go +++ b/internal/controller/namespaced/containerinstances/containerinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ContainerInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ContainerInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_container_instances_container_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_container_instances_container_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ContainerInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/core/byoasn/zz_controller.go b/internal/controller/namespaced/core/byoasn/zz_controller.go index 38f809c51..10799b268 100755 --- a/internal/controller/namespaced/core/byoasn/zz_controller.go +++ b/internal/controller/namespaced/core/byoasn/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Byoasn_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Byoasn_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Byoasn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Byoasn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_byoasn"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_byoasn"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Byoasn_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/core/listingresourceversionagreement/zz_controller.go b/internal/controller/namespaced/core/listingresourceversionagreement/zz_controller.go index 7c72156ad..b91ca814a 100755 --- a/internal/controller/namespaced/core/listingresourceversionagreement/zz_controller.go +++ b/internal/controller/namespaced/core/listingresourceversionagreement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ListingResourceVersionAgreement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ListingResourceVersionAgreement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ListingResourceVersionAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ListingResourceVersionAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_listing_resource_version_agreement"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_listing_resource_version_agreement"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ListingResourceVersionAgreement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/core/virtualnetwork/zz_controller.go b/internal/controller/namespaced/core/virtualnetwork/zz_controller.go index 54771aeec..fc995ebd1 100755 --- a/internal/controller/namespaced/core/virtualnetwork/zz_controller.go +++ b/internal/controller/namespaced/core/virtualnetwork/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VirtualNetwork_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VirtualNetwork_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VirtualNetwork_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VirtualNetwork_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_virtual_network"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_virtual_network"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VirtualNetwork_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/costad/costalertsubscription/zz_controller.go b/internal/controller/namespaced/costad/costalertsubscription/zz_controller.go index dbda46c9c..4ccaafc95 100755 --- a/internal/controller/namespaced/costad/costalertsubscription/zz_controller.go +++ b/internal/controller/namespaced/costad/costalertsubscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAlertSubscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAlertSubscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAlertSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAlertSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_alert_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_alert_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAlertSubscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/costad/costanomalyevent/zz_controller.go b/internal/controller/namespaced/costad/costanomalyevent/zz_controller.go index 2e1939b77..07fa1e18e 100755 --- a/internal/controller/namespaced/costad/costanomalyevent/zz_controller.go +++ b/internal/controller/namespaced/costad/costanomalyevent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAnomalyEvent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAnomalyEvent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyEvent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyEvent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_anomaly_event"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_anomaly_event"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAnomalyEvent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/costad/costanomalymonitor/zz_controller.go b/internal/controller/namespaced/costad/costanomalymonitor/zz_controller.go index dae792ee1..cbb5b252f 100755 --- a/internal/controller/namespaced/costad/costanomalymonitor/zz_controller.go +++ b/internal/controller/namespaced/costad/costanomalymonitor/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAnomalyMonitor_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAnomalyMonitor_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_anomaly_monitor"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_anomaly_monitor"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAnomalyMonitor_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/costad/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go b/internal/controller/namespaced/costad/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go index b84eba266..3441b06db 100755 --- a/internal/controller/namespaced/costad/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go +++ b/internal/controller/namespaced/costad/costanomalymonitorcostanomalymonitorenabletogglesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_anomaly_monitor_costanomalymonitorenabletoggles_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_costad_cost_anomaly_monitor_costanomalymonitorenabletoggles_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CostAnomalyMonitorCostanomalymonitorenabletogglesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/advancedclusterfilesystem/zz_controller.go b/internal/controller/namespaced/database/advancedclusterfilesystem/zz_controller.go index 7fa92714c..18843a904 100755 --- a/internal/controller/namespaced/database/advancedclusterfilesystem/zz_controller.go +++ b/internal/controller/namespaced/database/advancedclusterfilesystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AdvancedClusterFileSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AdvancedClusterFileSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdvancedClusterFileSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdvancedClusterFileSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_advanced_cluster_file_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_advanced_cluster_file_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AdvancedClusterFileSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/advancedclusterfilesystemmount/zz_controller.go b/internal/controller/namespaced/database/advancedclusterfilesystemmount/zz_controller.go index 3ed22dfa9..b91cf6ff8 100755 --- a/internal/controller/namespaced/database/advancedclusterfilesystemmount/zz_controller.go +++ b/internal/controller/namespaced/database/advancedclusterfilesystemmount/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AdvancedClusterFileSystemMount_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AdvancedClusterFileSystemMount_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdvancedClusterFileSystemMount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdvancedClusterFileSystemMount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_advanced_cluster_file_system_mount"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_advanced_cluster_file_system_mount"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AdvancedClusterFileSystemMount_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/advancedclusterfilesystemunmount/zz_controller.go b/internal/controller/namespaced/database/advancedclusterfilesystemunmount/zz_controller.go index ec7624160..a3e4aaed2 100755 --- a/internal/controller/namespaced/database/advancedclusterfilesystemunmount/zz_controller.go +++ b/internal/controller/namespaced/database/advancedclusterfilesystemunmount/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AdvancedClusterFileSystemUnmount_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AdvancedClusterFileSystemUnmount_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdvancedClusterFileSystemUnmount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AdvancedClusterFileSystemUnmount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_advanced_cluster_file_system_unmount"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_advanced_cluster_file_system_unmount"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AdvancedClusterFileSystemUnmount_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/applicationvip/zz_controller.go b/internal/controller/namespaced/database/applicationvip/zz_controller.go index 1df6327f7..0c3cc654b 100755 --- a/internal/controller/namespaced/database/applicationvip/zz_controller.go +++ b/internal/controller/namespaced/database/applicationvip/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApplicationVip_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApplicationVip_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApplicationVip_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApplicationVip_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_application_vip"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_application_vip"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApplicationVip_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomouscontainerdatabase/zz_controller.go b/internal/controller/namespaced/database/autonomouscontainerdatabase/zz_controller.go index 5bf431840..fa8d9291a 100755 --- a/internal/controller/namespaced/database/autonomouscontainerdatabase/zz_controller.go +++ b/internal/controller/namespaced/database/autonomouscontainerdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousContainerDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousContainerDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousContainerDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomouscontainerdatabaseaddstandby/zz_controller.go b/internal/controller/namespaced/database/autonomouscontainerdatabaseaddstandby/zz_controller.go index c6a5589a4..340e4d008 100755 --- a/internal/controller/namespaced/database/autonomouscontainerdatabaseaddstandby/zz_controller.go +++ b/internal/controller/namespaced/database/autonomouscontainerdatabaseaddstandby/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousContainerDatabaseAddStandby_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousContainerDatabaseAddStandby_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseAddStandby_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseAddStandby_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_add_standby"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_add_standby"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousContainerDatabaseAddStandby_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomouscontainerdatabasedataguardassociation/zz_controller.go b/internal/controller/namespaced/database/autonomouscontainerdatabasedataguardassociation/zz_controller.go index 72c83dfc1..0c25e0e50 100755 --- a/internal/controller/namespaced/database/autonomouscontainerdatabasedataguardassociation/zz_controller.go +++ b/internal/controller/namespaced/database/autonomouscontainerdatabasedataguardassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousContainerDatabaseDataguardAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousContainerDatabaseDataguardAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseDataguardAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseDataguardAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_dataguard_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_dataguard_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousContainerDatabaseDataguardAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomouscontainerdatabasedataguardassociationoperation/zz_controller.go b/internal/controller/namespaced/database/autonomouscontainerdatabasedataguardassociationoperation/zz_controller.go index ef7324759..4268596c6 100755 --- a/internal/controller/namespaced/database/autonomouscontainerdatabasedataguardassociationoperation/zz_controller.go +++ b/internal/controller/namespaced/database/autonomouscontainerdatabasedataguardassociationoperation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousContainerDatabaseDataguardAssociationOperation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousContainerDatabaseDataguardAssociationOperation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseDataguardAssociationOperation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseDataguardAssociationOperation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_dataguard_association_operation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_dataguard_association_operation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousContainerDatabaseDataguardAssociationOperation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomouscontainerdatabasedataguardrolechange/zz_controller.go b/internal/controller/namespaced/database/autonomouscontainerdatabasedataguardrolechange/zz_controller.go index 01407f1e3..28133c246 100755 --- a/internal/controller/namespaced/database/autonomouscontainerdatabasedataguardrolechange/zz_controller.go +++ b/internal/controller/namespaced/database/autonomouscontainerdatabasedataguardrolechange/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousContainerDatabaseDataguardRoleChange_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousContainerDatabaseDataguardRoleChange_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseDataguardRoleChange_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseDataguardRoleChange_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_dataguard_role_change"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_dataguard_role_change"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousContainerDatabaseDataguardRoleChange_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomouscontainerdatabasesnapshotstandby/zz_controller.go b/internal/controller/namespaced/database/autonomouscontainerdatabasesnapshotstandby/zz_controller.go index dee157688..d33421a1e 100755 --- a/internal/controller/namespaced/database/autonomouscontainerdatabasesnapshotstandby/zz_controller.go +++ b/internal/controller/namespaced/database/autonomouscontainerdatabasesnapshotstandby/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousContainerDatabaseSnapshotStandby_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousContainerDatabaseSnapshotStandby_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseSnapshotStandby_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousContainerDatabaseSnapshotStandby_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_snapshot_standby"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_container_database_snapshot_standby"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousContainerDatabaseSnapshotStandby_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomousdatabase/zz_controller.go b/internal/controller/namespaced/database/autonomousdatabase/zz_controller.go index 65c843475..4f866bdfa 100755 --- a/internal/controller/namespaced/database/autonomousdatabase/zz_controller.go +++ b/internal/controller/namespaced/database/autonomousdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomousdatabasebackup/zz_controller.go b/internal/controller/namespaced/database/autonomousdatabasebackup/zz_controller.go index 10cb159bf..3c1bfef65 100755 --- a/internal/controller/namespaced/database/autonomousdatabasebackup/zz_controller.go +++ b/internal/controller/namespaced/database/autonomousdatabasebackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabaseBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabaseBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabaseBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomousdatabaseinstancewalletmanagement/zz_controller.go b/internal/controller/namespaced/database/autonomousdatabaseinstancewalletmanagement/zz_controller.go index 7ca0851bb..61d666470 100755 --- a/internal/controller/namespaced/database/autonomousdatabaseinstancewalletmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/autonomousdatabaseinstancewalletmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabaseInstanceWalletManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabaseInstanceWalletManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseInstanceWalletManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseInstanceWalletManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_instance_wallet_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_instance_wallet_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabaseInstanceWalletManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomousdatabaseregionalwalletmanagement/zz_controller.go b/internal/controller/namespaced/database/autonomousdatabaseregionalwalletmanagement/zz_controller.go index 911214b13..dd5c25b02 100755 --- a/internal/controller/namespaced/database/autonomousdatabaseregionalwalletmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/autonomousdatabaseregionalwalletmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabaseRegionalWalletManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabaseRegionalWalletManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseRegionalWalletManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseRegionalWalletManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_regional_wallet_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_regional_wallet_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabaseRegionalWalletManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomousdatabasesaasadminuser/zz_controller.go b/internal/controller/namespaced/database/autonomousdatabasesaasadminuser/zz_controller.go index 24dddd40d..dc468a091 100755 --- a/internal/controller/namespaced/database/autonomousdatabasesaasadminuser/zz_controller.go +++ b/internal/controller/namespaced/database/autonomousdatabasesaasadminuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabaseSaasAdminUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabaseSaasAdminUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseSaasAdminUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseSaasAdminUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_saas_admin_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_saas_admin_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabaseSaasAdminUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomousdatabasesoftwareimage/zz_controller.go b/internal/controller/namespaced/database/autonomousdatabasesoftwareimage/zz_controller.go index 9796f325b..0e5ab5f92 100755 --- a/internal/controller/namespaced/database/autonomousdatabasesoftwareimage/zz_controller.go +++ b/internal/controller/namespaced/database/autonomousdatabasesoftwareimage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabaseSoftwareImage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabaseSoftwareImage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseSoftwareImage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseSoftwareImage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_software_image"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_software_image"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabaseSoftwareImage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomousdatabasewallet/zz_controller.go b/internal/controller/namespaced/database/autonomousdatabasewallet/zz_controller.go index 81c6c51d9..cf8d3b283 100755 --- a/internal/controller/namespaced/database/autonomousdatabasewallet/zz_controller.go +++ b/internal/controller/namespaced/database/autonomousdatabasewallet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousDatabaseWallet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousDatabaseWallet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseWallet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousDatabaseWallet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_wallet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_database_wallet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousDatabaseWallet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomousexadatainfrastructure/zz_controller.go b/internal/controller/namespaced/database/autonomousexadatainfrastructure/zz_controller.go index e68487105..4b3f7ce60 100755 --- a/internal/controller/namespaced/database/autonomousexadatainfrastructure/zz_controller.go +++ b/internal/controller/namespaced/database/autonomousexadatainfrastructure/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousExadataInfrastructure_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousExadataInfrastructure_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_exadata_infrastructure"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_exadata_infrastructure"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousExadataInfrastructure_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomousvmcluster/zz_controller.go b/internal/controller/namespaced/database/autonomousvmcluster/zz_controller.go index ad2fe5542..094059809 100755 --- a/internal/controller/namespaced/database/autonomousvmcluster/zz_controller.go +++ b/internal/controller/namespaced/database/autonomousvmcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousVmCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousVmCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_vm_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_vm_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousVmCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomousvmclusterordscertificatemanagement/zz_controller.go b/internal/controller/namespaced/database/autonomousvmclusterordscertificatemanagement/zz_controller.go index ef9a01d61..dadf90ec3 100755 --- a/internal/controller/namespaced/database/autonomousvmclusterordscertificatemanagement/zz_controller.go +++ b/internal/controller/namespaced/database/autonomousvmclusterordscertificatemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousVmClusterOrdsCertificateManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousVmClusterOrdsCertificateManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousVmClusterOrdsCertificateManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousVmClusterOrdsCertificateManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_vm_cluster_ords_certificate_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_vm_cluster_ords_certificate_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousVmClusterOrdsCertificateManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/autonomousvmclustersslcertificatemanagement/zz_controller.go b/internal/controller/namespaced/database/autonomousvmclustersslcertificatemanagement/zz_controller.go index 560394730..ae82ebfc2 100755 --- a/internal/controller/namespaced/database/autonomousvmclustersslcertificatemanagement/zz_controller.go +++ b/internal/controller/namespaced/database/autonomousvmclustersslcertificatemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutonomousVmClusterSslCertificateManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutonomousVmClusterSslCertificateManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousVmClusterSslCertificateManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutonomousVmClusterSslCertificateManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_vm_cluster_ssl_certificate_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_autonomous_vm_cluster_ssl_certificate_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutonomousVmClusterSslCertificateManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/backup/zz_controller.go b/internal/controller/namespaced/database/backup/zz_controller.go index 1934e13e7..ec127357c 100755 --- a/internal/controller/namespaced/database/backup/zz_controller.go +++ b/internal/controller/namespaced/database/backup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Backup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Backup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Backup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Backup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Backup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/backupcancelmanagement/zz_controller.go b/internal/controller/namespaced/database/backupcancelmanagement/zz_controller.go index 827fd75dd..ecd1444b7 100755 --- a/internal/controller/namespaced/database/backupcancelmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/backupcancelmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BackupCancelManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BackupCancelManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackupCancelManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackupCancelManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_backup_cancel_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_backup_cancel_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BackupCancelManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/backupdestination/zz_controller.go b/internal/controller/namespaced/database/backupdestination/zz_controller.go index 80defb8ec..d111abdc1 100755 --- a/internal/controller/namespaced/database/backupdestination/zz_controller.go +++ b/internal/controller/namespaced/database/backupdestination/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BackupDestination_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BackupDestination_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackupDestination_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackupDestination_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_backup_destination"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_backup_destination"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BackupDestination_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/cloudautonomousvmcluster/zz_controller.go b/internal/controller/namespaced/database/cloudautonomousvmcluster/zz_controller.go index eb0d0b673..dd97785a8 100755 --- a/internal/controller/namespaced/database/cloudautonomousvmcluster/zz_controller.go +++ b/internal/controller/namespaced/database/cloudautonomousvmcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudAutonomousVmCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudAutonomousVmCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudAutonomousVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudAutonomousVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_autonomous_vm_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_autonomous_vm_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudAutonomousVmCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/clouddatabasemanagement/zz_controller.go b/internal/controller/namespaced/database/clouddatabasemanagement/zz_controller.go index 17c8b2b92..a071657c4 100755 --- a/internal/controller/namespaced/database/clouddatabasemanagement/zz_controller.go +++ b/internal/controller/namespaced/database/clouddatabasemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudDatabaseManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudDatabaseManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_database_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_database_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudDatabaseManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/cloudexadatainfrastructure/zz_controller.go b/internal/controller/namespaced/database/cloudexadatainfrastructure/zz_controller.go index c9c1c3609..fff604983 100755 --- a/internal/controller/namespaced/database/cloudexadatainfrastructure/zz_controller.go +++ b/internal/controller/namespaced/database/cloudexadatainfrastructure/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudExadataInfrastructure_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudExadataInfrastructure_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_exadata_infrastructure"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_exadata_infrastructure"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudExadataInfrastructure_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/cloudexadatainfrastructureconfigureexascalemanagement/zz_controller.go b/internal/controller/namespaced/database/cloudexadatainfrastructureconfigureexascalemanagement/zz_controller.go index 98831fd92..0b4de64ae 100755 --- a/internal/controller/namespaced/database/cloudexadatainfrastructureconfigureexascalemanagement/zz_controller.go +++ b/internal/controller/namespaced/database/cloudexadatainfrastructureconfigureexascalemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudExadataInfrastructureConfigureExascaleManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudExadataInfrastructureConfigureExascaleManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudExadataInfrastructureConfigureExascaleManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudExadataInfrastructureConfigureExascaleManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_exadata_infrastructure_configure_exascale_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_exadata_infrastructure_configure_exascale_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudExadataInfrastructureConfigureExascaleManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/cloudvmcluster/zz_controller.go b/internal/controller/namespaced/database/cloudvmcluster/zz_controller.go index 48ccf317a..87cc5948d 100755 --- a/internal/controller/namespaced/database/cloudvmcluster/zz_controller.go +++ b/internal/controller/namespaced/database/cloudvmcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudVmCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudVmCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_vm_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_vm_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudVmCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/cloudvmclusteriormconfig/zz_controller.go b/internal/controller/namespaced/database/cloudvmclusteriormconfig/zz_controller.go index 4dc695c20..1e8dc1414 100755 --- a/internal/controller/namespaced/database/cloudvmclusteriormconfig/zz_controller.go +++ b/internal/controller/namespaced/database/cloudvmclusteriormconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudVmClusterIormConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudVmClusterIormConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudVmClusterIormConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudVmClusterIormConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_vm_cluster_iorm_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_cloud_vm_cluster_iorm_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudVmClusterIormConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/database/zz_controller.go b/internal/controller/namespaced/database/database/zz_controller.go index f46fd9878..2c98a29f2 100755 --- a/internal/controller/namespaced/database/database/zz_controller.go +++ b/internal/controller/namespaced/database/database/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Database_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Database_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Database_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Database_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Database_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/databasesnapshotstandby/zz_controller.go b/internal/controller/namespaced/database/databasesnapshotstandby/zz_controller.go index 49bcd829e..44cf2f363 100755 --- a/internal/controller/namespaced/database/databasesnapshotstandby/zz_controller.go +++ b/internal/controller/namespaced/database/databasesnapshotstandby/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseSnapshotStandby_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseSnapshotStandby_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSnapshotStandby_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSnapshotStandby_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_database_snapshot_standby"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_database_snapshot_standby"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseSnapshotStandby_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/databasesoftwareimage/zz_controller.go b/internal/controller/namespaced/database/databasesoftwareimage/zz_controller.go index 636a9aaff..1eccf9b0c 100755 --- a/internal/controller/namespaced/database/databasesoftwareimage/zz_controller.go +++ b/internal/controller/namespaced/database/databasesoftwareimage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseSoftwareImage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseSoftwareImage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSoftwareImage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSoftwareImage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_database_software_image"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_database_software_image"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseSoftwareImage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/databasesoftwareschedulemanagement/zz_controller.go b/internal/controller/namespaced/database/databasesoftwareschedulemanagement/zz_controller.go index 4b969ecc8..02f3ddf07 100755 --- a/internal/controller/namespaced/database/databasesoftwareschedulemanagement/zz_controller.go +++ b/internal/controller/namespaced/database/databasesoftwareschedulemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseSoftwareScheduleManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseSoftwareScheduleManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSoftwareScheduleManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSoftwareScheduleManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_database_software_schedule_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_database_software_schedule_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseSoftwareScheduleManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/databaseupgrade/zz_controller.go b/internal/controller/namespaced/database/databaseupgrade/zz_controller.go index 2b563f6b6..7ed6c927a 100755 --- a/internal/controller/namespaced/database/databaseupgrade/zz_controller.go +++ b/internal/controller/namespaced/database/databaseupgrade/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseUpgrade_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseUpgrade_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseUpgrade_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseUpgrade_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_database_upgrade"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_database_upgrade"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseUpgrade_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/dataguardassociation/zz_controller.go b/internal/controller/namespaced/database/dataguardassociation/zz_controller.go index b5f7862c6..6f70e917d 100755 --- a/internal/controller/namespaced/database/dataguardassociation/zz_controller.go +++ b/internal/controller/namespaced/database/dataguardassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataGuardAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataGuardAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataGuardAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataGuardAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_data_guard_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_data_guard_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataGuardAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/datapatch/zz_controller.go b/internal/controller/namespaced/database/datapatch/zz_controller.go index 4849fff09..c119813ba 100755 --- a/internal/controller/namespaced/database/datapatch/zz_controller.go +++ b/internal/controller/namespaced/database/datapatch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataPatch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataPatch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataPatch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataPatch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_data_patch"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_data_patch"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataPatch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/dbhome/zz_controller.go b/internal/controller/namespaced/database/dbhome/zz_controller.go index 0b7aa4347..c05beae33 100755 --- a/internal/controller/namespaced/database/dbhome/zz_controller.go +++ b/internal/controller/namespaced/database/dbhome/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbHome_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbHome_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbHome_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbHome_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_home"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_home"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbHome_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/dbnode/zz_controller.go b/internal/controller/namespaced/database/dbnode/zz_controller.go index 1f9642138..f2a4090dc 100755 --- a/internal/controller/namespaced/database/dbnode/zz_controller.go +++ b/internal/controller/namespaced/database/dbnode/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbNode_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbNode_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNode_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNode_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_node"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_node"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbNode_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/dbnodeconsoleconnection/zz_controller.go b/internal/controller/namespaced/database/dbnodeconsoleconnection/zz_controller.go index 123679346..e653060b0 100755 --- a/internal/controller/namespaced/database/dbnodeconsoleconnection/zz_controller.go +++ b/internal/controller/namespaced/database/dbnodeconsoleconnection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbNodeConsoleConnection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbNodeConsoleConnection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeConsoleConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeConsoleConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_console_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_console_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbNodeConsoleConnection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/dbnodeconsolehistory/zz_controller.go b/internal/controller/namespaced/database/dbnodeconsolehistory/zz_controller.go index 5a1889ecd..2cc6fdb12 100755 --- a/internal/controller/namespaced/database/dbnodeconsolehistory/zz_controller.go +++ b/internal/controller/namespaced/database/dbnodeconsolehistory/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbNodeConsoleHistory_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbNodeConsoleHistory_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeConsoleHistory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeConsoleHistory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_console_history"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_console_history"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbNodeConsoleHistory_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/dbnodesnapshot/zz_controller.go b/internal/controller/namespaced/database/dbnodesnapshot/zz_controller.go index 0ba8ad509..b1ce1c2f8 100755 --- a/internal/controller/namespaced/database/dbnodesnapshot/zz_controller.go +++ b/internal/controller/namespaced/database/dbnodesnapshot/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbNodeSnapshot_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbNodeSnapshot_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeSnapshot_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeSnapshot_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_snapshot"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_snapshot"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbNodeSnapshot_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/dbnodesnapshotmanagement/zz_controller.go b/internal/controller/namespaced/database/dbnodesnapshotmanagement/zz_controller.go index b061a15df..c134bfa30 100755 --- a/internal/controller/namespaced/database/dbnodesnapshotmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/dbnodesnapshotmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbNodeSnapshotManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbNodeSnapshotManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeSnapshotManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbNodeSnapshotManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_snapshot_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_node_snapshot_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbNodeSnapshotManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/dbsystem/zz_controller.go b/internal/controller/namespaced/database/dbsystem/zz_controller.go index 0c680ee66..19af6474b 100755 --- a/internal/controller/namespaced/database/dbsystem/zz_controller.go +++ b/internal/controller/namespaced/database/dbsystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/dbsystemsupgrade/zz_controller.go b/internal/controller/namespaced/database/dbsystemsupgrade/zz_controller.go index 8edca851a..169654b07 100755 --- a/internal/controller/namespaced/database/dbsystemsupgrade/zz_controller.go +++ b/internal/controller/namespaced/database/dbsystemsupgrade/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbSystemsUpgrade_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbSystemsUpgrade_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbSystemsUpgrade_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbSystemsUpgrade_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_db_systems_upgrade"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_db_systems_upgrade"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbSystemsUpgrade_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/exadatainfrastructure/zz_controller.go b/internal/controller/namespaced/database/exadatainfrastructure/zz_controller.go index c712c3aeb..15351593c 100755 --- a/internal/controller/namespaced/database/exadatainfrastructure/zz_controller.go +++ b/internal/controller/namespaced/database/exadatainfrastructure/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadataInfrastructure_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadataInfrastructure_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadataInfrastructure_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/exadatainfrastructurecompute/zz_controller.go b/internal/controller/namespaced/database/exadatainfrastructurecompute/zz_controller.go index e3e1e8cd4..dcd1b8636 100755 --- a/internal/controller/namespaced/database/exadatainfrastructurecompute/zz_controller.go +++ b/internal/controller/namespaced/database/exadatainfrastructurecompute/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadataInfrastructureCompute_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadataInfrastructureCompute_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructureCompute_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructureCompute_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure_compute"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure_compute"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadataInfrastructureCompute_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/exadatainfrastructureconfigureexascalemanagement/zz_controller.go b/internal/controller/namespaced/database/exadatainfrastructureconfigureexascalemanagement/zz_controller.go index afc610922..b0a48601e 100755 --- a/internal/controller/namespaced/database/exadatainfrastructureconfigureexascalemanagement/zz_controller.go +++ b/internal/controller/namespaced/database/exadatainfrastructureconfigureexascalemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadataInfrastructureConfigureExascaleManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadataInfrastructureConfigureExascaleManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructureConfigureExascaleManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructureConfigureExascaleManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure_configure_exascale_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure_configure_exascale_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadataInfrastructureConfigureExascaleManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/exadatainfrastructurestorage/zz_controller.go b/internal/controller/namespaced/database/exadatainfrastructurestorage/zz_controller.go index 8f9cb6d54..41fbd7ce1 100755 --- a/internal/controller/namespaced/database/exadatainfrastructurestorage/zz_controller.go +++ b/internal/controller/namespaced/database/exadatainfrastructurestorage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadataInfrastructureStorage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadataInfrastructureStorage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructureStorage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInfrastructureStorage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure_storage"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_infrastructure_storage"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadataInfrastructureStorage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/exadataiormconfig/zz_controller.go b/internal/controller/namespaced/database/exadataiormconfig/zz_controller.go index 0cd4435a8..4c8ae517c 100755 --- a/internal/controller/namespaced/database/exadataiormconfig/zz_controller.go +++ b/internal/controller/namespaced/database/exadataiormconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadataIormConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadataIormConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataIormConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataIormConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_iorm_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exadata_iorm_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadataIormConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/exadbvmcluster/zz_controller.go b/internal/controller/namespaced/database/exadbvmcluster/zz_controller.go index 7467770f3..7d00e83d8 100755 --- a/internal/controller/namespaced/database/exadbvmcluster/zz_controller.go +++ b/internal/controller/namespaced/database/exadbvmcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadbVmCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadbVmCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadbVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadbVmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exadb_vm_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exadb_vm_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadbVmCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/exascaledbstoragevault/zz_controller.go b/internal/controller/namespaced/database/exascaledbstoragevault/zz_controller.go index 834c0c1fd..ccce4d4e2 100755 --- a/internal/controller/namespaced/database/exascaledbstoragevault/zz_controller.go +++ b/internal/controller/namespaced/database/exascaledbstoragevault/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExascaleDbStorageVault_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExascaleDbStorageVault_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExascaleDbStorageVault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExascaleDbStorageVault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_exascale_db_storage_vault"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_exascale_db_storage_vault"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExascaleDbStorageVault_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/executionaction/zz_controller.go b/internal/controller/namespaced/database/executionaction/zz_controller.go index 02b96c188..d7d03315f 100755 --- a/internal/controller/namespaced/database/executionaction/zz_controller.go +++ b/internal/controller/namespaced/database/executionaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExecutionAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExecutionAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExecutionAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExecutionAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_execution_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_execution_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExecutionAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/executionwindow/zz_controller.go b/internal/controller/namespaced/database/executionwindow/zz_controller.go index 8c2101483..4d083fede 100755 --- a/internal/controller/namespaced/database/executionwindow/zz_controller.go +++ b/internal/controller/namespaced/database/executionwindow/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExecutionWindow_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExecutionWindow_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExecutionWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExecutionWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_execution_window"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_execution_window"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExecutionWindow_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/externalcontainerdatabase/zz_controller.go b/internal/controller/namespaced/database/externalcontainerdatabase/zz_controller.go index aa98e8415..02cc34cb7 100755 --- a/internal/controller/namespaced/database/externalcontainerdatabase/zz_controller.go +++ b/internal/controller/namespaced/database/externalcontainerdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalContainerDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalContainerDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalContainerDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalContainerDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_container_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_container_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalContainerDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/externalcontainerdatabasemanagement/zz_controller.go b/internal/controller/namespaced/database/externalcontainerdatabasemanagement/zz_controller.go index 49356badc..2be58e6bc 100755 --- a/internal/controller/namespaced/database/externalcontainerdatabasemanagement/zz_controller.go +++ b/internal/controller/namespaced/database/externalcontainerdatabasemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalContainerDatabaseManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalContainerDatabaseManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalContainerDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalContainerDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_container_database_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_container_database_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalContainerDatabaseManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/externalcontainerdatabasesstackmonitoring/zz_controller.go b/internal/controller/namespaced/database/externalcontainerdatabasesstackmonitoring/zz_controller.go index 04a57c1a9..75f5efd68 100755 --- a/internal/controller/namespaced/database/externalcontainerdatabasesstackmonitoring/zz_controller.go +++ b/internal/controller/namespaced/database/externalcontainerdatabasesstackmonitoring/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalcontainerdatabasesStackMonitoring_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalcontainerdatabasesStackMonitoring_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalcontainerdatabasesStackMonitoring_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalcontainerdatabasesStackMonitoring_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_externalcontainerdatabases_stack_monitoring"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_externalcontainerdatabases_stack_monitoring"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalcontainerdatabasesStackMonitoring_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/externaldatabaseconnector/zz_controller.go b/internal/controller/namespaced/database/externaldatabaseconnector/zz_controller.go index c980f35a8..8c6ab3f03 100755 --- a/internal/controller/namespaced/database/externaldatabaseconnector/zz_controller.go +++ b/internal/controller/namespaced/database/externaldatabaseconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalDatabaseConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalDatabaseConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalDatabaseConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalDatabaseConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_database_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_database_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalDatabaseConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/externalnoncontainerdatabase/zz_controller.go b/internal/controller/namespaced/database/externalnoncontainerdatabase/zz_controller.go index 9f70c849f..c22134db7 100755 --- a/internal/controller/namespaced/database/externalnoncontainerdatabase/zz_controller.go +++ b/internal/controller/namespaced/database/externalnoncontainerdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalNonContainerDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalNonContainerDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalNonContainerDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalNonContainerDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_non_container_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_non_container_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalNonContainerDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/externalnoncontainerdatabasemanagement/zz_controller.go b/internal/controller/namespaced/database/externalnoncontainerdatabasemanagement/zz_controller.go index f5c94f523..b162c1f4e 100755 --- a/internal/controller/namespaced/database/externalnoncontainerdatabasemanagement/zz_controller.go +++ b/internal/controller/namespaced/database/externalnoncontainerdatabasemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalNonContainerDatabaseManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalNonContainerDatabaseManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalNonContainerDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalNonContainerDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_non_container_database_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_non_container_database_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalNonContainerDatabaseManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/externalnoncontainerdatabaseoperationsinsightsmanagement/zz_controller.go b/internal/controller/namespaced/database/externalnoncontainerdatabaseoperationsinsightsmanagement/zz_controller.go index 0c4134629..1ce7c758e 100755 --- a/internal/controller/namespaced/database/externalnoncontainerdatabaseoperationsinsightsmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/externalnoncontainerdatabaseoperationsinsightsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalNonContainerDatabaseOperationsInsightsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalNonContainerDatabaseOperationsInsightsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalNonContainerDatabaseOperationsInsightsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalNonContainerDatabaseOperationsInsightsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_non_container_database_operations_insights_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_non_container_database_operations_insights_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalNonContainerDatabaseOperationsInsightsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/externalnoncontainerdatabasesstackmonitoring/zz_controller.go b/internal/controller/namespaced/database/externalnoncontainerdatabasesstackmonitoring/zz_controller.go index 010bcf178..ba9fe0cb2 100755 --- a/internal/controller/namespaced/database/externalnoncontainerdatabasesstackmonitoring/zz_controller.go +++ b/internal/controller/namespaced/database/externalnoncontainerdatabasesstackmonitoring/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalnoncontainerdatabasesStackMonitoring_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalnoncontainerdatabasesStackMonitoring_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalnoncontainerdatabasesStackMonitoring_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalnoncontainerdatabasesStackMonitoring_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_externalnoncontainerdatabases_stack_monitoring"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_externalnoncontainerdatabases_stack_monitoring"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalnoncontainerdatabasesStackMonitoring_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/externalpluggabledatabase/zz_controller.go b/internal/controller/namespaced/database/externalpluggabledatabase/zz_controller.go index 55bbaec3c..1c3236325 100755 --- a/internal/controller/namespaced/database/externalpluggabledatabase/zz_controller.go +++ b/internal/controller/namespaced/database/externalpluggabledatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalPluggableDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalPluggableDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalPluggableDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalPluggableDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_pluggable_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_pluggable_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalPluggableDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/externalpluggabledatabasemanagement/zz_controller.go b/internal/controller/namespaced/database/externalpluggabledatabasemanagement/zz_controller.go index 2f103f04b..fd4f505ed 100755 --- a/internal/controller/namespaced/database/externalpluggabledatabasemanagement/zz_controller.go +++ b/internal/controller/namespaced/database/externalpluggabledatabasemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalPluggableDatabaseManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalPluggableDatabaseManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalPluggableDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalPluggableDatabaseManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_pluggable_database_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_pluggable_database_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalPluggableDatabaseManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/externalpluggabledatabaseoperationsinsightsmanagement/zz_controller.go b/internal/controller/namespaced/database/externalpluggabledatabaseoperationsinsightsmanagement/zz_controller.go index 57059c5fe..619eaa7da 100755 --- a/internal/controller/namespaced/database/externalpluggabledatabaseoperationsinsightsmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/externalpluggabledatabaseoperationsinsightsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalPluggableDatabaseOperationsInsightsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalPluggableDatabaseOperationsInsightsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalPluggableDatabaseOperationsInsightsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalPluggableDatabaseOperationsInsightsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_external_pluggable_database_operations_insights_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_external_pluggable_database_operations_insights_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalPluggableDatabaseOperationsInsightsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/externalpluggabledatabasesstackmonitoring/zz_controller.go b/internal/controller/namespaced/database/externalpluggabledatabasesstackmonitoring/zz_controller.go index 112443cb3..78b344a65 100755 --- a/internal/controller/namespaced/database/externalpluggabledatabasesstackmonitoring/zz_controller.go +++ b/internal/controller/namespaced/database/externalpluggabledatabasesstackmonitoring/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExternalpluggabledatabasesStackMonitoring_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExternalpluggabledatabasesStackMonitoring_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalpluggabledatabasesStackMonitoring_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExternalpluggabledatabasesStackMonitoring_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_externalpluggabledatabases_stack_monitoring"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_externalpluggabledatabases_stack_monitoring"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExternalpluggabledatabasesStackMonitoring_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/keystore/zz_controller.go b/internal/controller/namespaced/database/keystore/zz_controller.go index 58083f363..b1842a266 100755 --- a/internal/controller/namespaced/database/keystore/zz_controller.go +++ b/internal/controller/namespaced/database/keystore/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KeyStore_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KeyStore_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KeyStore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KeyStore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_key_store"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_key_store"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KeyStore_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/maintenancerun/zz_controller.go b/internal/controller/namespaced/database/maintenancerun/zz_controller.go index 162d15b31..7b89e00a4 100755 --- a/internal/controller/namespaced/database/maintenancerun/zz_controller.go +++ b/internal/controller/namespaced/database/maintenancerun/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaintenanceRun_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaintenanceRun_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_maintenance_run"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_maintenance_run"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaintenanceRun_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementautonomousdatabasedbmfeaturesmanagement/zz_controller.go b/internal/controller/namespaced/database/managementautonomousdatabasedbmfeaturesmanagement/zz_controller.go index f0f1264e1..35e906c68 100755 --- a/internal/controller/namespaced/database/managementautonomousdatabasedbmfeaturesmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/managementautonomousdatabasedbmfeaturesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementAutonomousDatabaseDbmFeaturesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementAutonomousDatabaseDbmFeaturesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAutonomousDatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAutonomousDatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_autonomous_database_autonomous_database_dbm_features_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_autonomous_database_autonomous_database_dbm_features_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementAutonomousDatabaseDbmFeaturesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementcloudasm/zz_controller.go b/internal/controller/namespaced/database/managementcloudasm/zz_controller.go index da3ad3935..62d1a48dd 100755 --- a/internal/controller/namespaced/database/managementcloudasm/zz_controller.go +++ b/internal/controller/namespaced/database/managementcloudasm/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudAsm_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudAsm_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudAsm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudAsm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_asm"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_asm"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudAsm_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementcloudasminstance/zz_controller.go b/internal/controller/namespaced/database/managementcloudasminstance/zz_controller.go index 4d6935e0b..f188f80b8 100755 --- a/internal/controller/namespaced/database/managementcloudasminstance/zz_controller.go +++ b/internal/controller/namespaced/database/managementcloudasminstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudAsmInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudAsmInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudAsmInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudAsmInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_asm_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_asm_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudAsmInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementcloudcluster/zz_controller.go b/internal/controller/namespaced/database/managementcloudcluster/zz_controller.go index a94dfca87..bcce9e4b1 100755 --- a/internal/controller/namespaced/database/managementcloudcluster/zz_controller.go +++ b/internal/controller/namespaced/database/managementcloudcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementcloudclusterinstance/zz_controller.go b/internal/controller/namespaced/database/managementcloudclusterinstance/zz_controller.go index b1a076154..ef8d5f8d6 100755 --- a/internal/controller/namespaced/database/managementcloudclusterinstance/zz_controller.go +++ b/internal/controller/namespaced/database/managementcloudclusterinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudClusterInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudClusterInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudClusterInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudClusterInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_cluster_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_cluster_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudClusterInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementclouddbhome/zz_controller.go b/internal/controller/namespaced/database/managementclouddbhome/zz_controller.go index 74b216b26..8568cfa72 100755 --- a/internal/controller/namespaced/database/managementclouddbhome/zz_controller.go +++ b/internal/controller/namespaced/database/managementclouddbhome/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbHome_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbHome_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbHome_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbHome_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_home"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_home"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbHome_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementclouddbnode/zz_controller.go b/internal/controller/namespaced/database/managementclouddbnode/zz_controller.go index a8abfa2c3..ff4347afe 100755 --- a/internal/controller/namespaced/database/managementclouddbnode/zz_controller.go +++ b/internal/controller/namespaced/database/managementclouddbnode/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbNode_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbNode_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbNode_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbNode_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_node"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_node"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbNode_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementclouddbsystem/zz_controller.go b/internal/controller/namespaced/database/managementclouddbsystem/zz_controller.go index cf1decfd1..3896da442 100755 --- a/internal/controller/namespaced/database/managementclouddbsystem/zz_controller.go +++ b/internal/controller/namespaced/database/managementclouddbsystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementclouddbsystemclouddatabasemanagementsmanagement/zz_controller.go b/internal/controller/namespaced/database/managementclouddbsystemclouddatabasemanagementsmanagement/zz_controller.go index ff84d6d7e..183e3b582 100755 --- a/internal/controller/namespaced/database/managementclouddbsystemclouddatabasemanagementsmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/managementclouddbsystemclouddatabasemanagementsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbSystemCloudDatabaseManagementsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbSystemCloudDatabaseManagementsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemCloudDatabaseManagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemCloudDatabaseManagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_cloud_database_managements_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_cloud_database_managements_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbSystemCloudDatabaseManagementsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementclouddbsystemcloudstackmonitoringsmanagement/zz_controller.go b/internal/controller/namespaced/database/managementclouddbsystemcloudstackmonitoringsmanagement/zz_controller.go index 43d01595e..85f80b852 100755 --- a/internal/controller/namespaced/database/managementclouddbsystemcloudstackmonitoringsmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/managementclouddbsystemcloudstackmonitoringsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbSystemCloudStackMonitoringsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbSystemCloudStackMonitoringsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemCloudStackMonitoringsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemCloudStackMonitoringsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_cloud_stack_monitorings_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_cloud_stack_monitorings_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbSystemCloudStackMonitoringsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementclouddbsystemconnector/zz_controller.go b/internal/controller/namespaced/database/managementclouddbsystemconnector/zz_controller.go index 19d285ece..99b5729ca 100755 --- a/internal/controller/namespaced/database/managementclouddbsystemconnector/zz_controller.go +++ b/internal/controller/namespaced/database/managementclouddbsystemconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbSystemConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbSystemConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbSystemConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementclouddbsystemdiscovery/zz_controller.go b/internal/controller/namespaced/database/managementclouddbsystemdiscovery/zz_controller.go index 9b827ecaa..249c07cee 100755 --- a/internal/controller/namespaced/database/managementclouddbsystemdiscovery/zz_controller.go +++ b/internal/controller/namespaced/database/managementclouddbsystemdiscovery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudDbSystemDiscovery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudDbSystemDiscovery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemDiscovery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudDbSystemDiscovery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_discovery"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_db_system_discovery"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudDbSystemDiscovery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementcloudexadatainfrastructure/zz_controller.go b/internal/controller/namespaced/database/managementcloudexadatainfrastructure/zz_controller.go index e80081690..bbc233111 100755 --- a/internal/controller/namespaced/database/managementcloudexadatainfrastructure/zz_controller.go +++ b/internal/controller/namespaced/database/managementcloudexadatainfrastructure/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudExadataInfrastructure_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudExadataInfrastructure_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_infrastructure"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_infrastructure"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudExadataInfrastructure_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementcloudexadatainfrastructuremanagedexadata/zz_controller.go b/internal/controller/namespaced/database/managementcloudexadatainfrastructuremanagedexadata/zz_controller.go index beb92c86d..f2c0c3e09 100755 --- a/internal/controller/namespaced/database/managementcloudexadatainfrastructuremanagedexadata/zz_controller.go +++ b/internal/controller/namespaced/database/managementcloudexadatainfrastructuremanagedexadata/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudExadataInfrastructureManagedexadata_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudExadataInfrastructureManagedexadata_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataInfrastructureManagedexadata_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataInfrastructureManagedexadata_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_infrastructure_managedexadata_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_infrastructure_managedexadata_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudExadataInfrastructureManagedexadata_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementcloudexadatastorageconnector/zz_controller.go b/internal/controller/namespaced/database/managementcloudexadatastorageconnector/zz_controller.go index 50193a743..c5c27c938 100755 --- a/internal/controller/namespaced/database/managementcloudexadatastorageconnector/zz_controller.go +++ b/internal/controller/namespaced/database/managementcloudexadatastorageconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudExadataStorageConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudExadataStorageConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataStorageConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataStorageConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_storage_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_storage_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudExadataStorageConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementcloudexadatastoragegrid/zz_controller.go b/internal/controller/namespaced/database/managementcloudexadatastoragegrid/zz_controller.go index 31626292c..5a5871529 100755 --- a/internal/controller/namespaced/database/managementcloudexadatastoragegrid/zz_controller.go +++ b/internal/controller/namespaced/database/managementcloudexadatastoragegrid/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudExadataStorageGrid_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudExadataStorageGrid_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataStorageGrid_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataStorageGrid_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_storage_grid"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_storage_grid"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudExadataStorageGrid_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementcloudexadatastorageserver/zz_controller.go b/internal/controller/namespaced/database/managementcloudexadatastorageserver/zz_controller.go index d8f4c3175..4bdc18d7c 100755 --- a/internal/controller/namespaced/database/managementcloudexadatastorageserver/zz_controller.go +++ b/internal/controller/namespaced/database/managementcloudexadatastorageserver/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudExadataStorageServer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudExadataStorageServer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataStorageServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudExadataStorageServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_storage_server"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_exadata_storage_server"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudExadataStorageServer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementcloudlistener/zz_controller.go b/internal/controller/namespaced/database/managementcloudlistener/zz_controller.go index 4a03c54e3..7ac00c365 100755 --- a/internal/controller/namespaced/database/managementcloudlistener/zz_controller.go +++ b/internal/controller/namespaced/database/managementcloudlistener/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementCloudListener_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementCloudListener_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudListener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementCloudListener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_listener"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_cloud_listener"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementCloudListener_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementdatabasedbmfeaturesmanagement/zz_controller.go b/internal/controller/namespaced/database/managementdatabasedbmfeaturesmanagement/zz_controller.go index 107cd0502..971935146 100755 --- a/internal/controller/namespaced/database/managementdatabasedbmfeaturesmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/managementdatabasedbmfeaturesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementDatabaseDbmFeaturesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementDatabaseDbmFeaturesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementDatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementDatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_database_dbm_features_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_database_dbm_features_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementDatabaseDbmFeaturesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementdbmanagementprivateendpoint/zz_controller.go b/internal/controller/namespaced/database/managementdbmanagementprivateendpoint/zz_controller.go index 83a101c27..71cd9610b 100755 --- a/internal/controller/namespaced/database/managementdbmanagementprivateendpoint/zz_controller.go +++ b/internal/controller/namespaced/database/managementdbmanagementprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementDbManagementPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementDbManagementPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementDbManagementPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementDbManagementPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_db_management_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_db_management_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementDbManagementPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalasm/zz_controller.go b/internal/controller/namespaced/database/managementexternalasm/zz_controller.go index f67af92fb..2b22b5f3a 100755 --- a/internal/controller/namespaced/database/managementexternalasm/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalasm/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalAsm_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalAsm_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalAsm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalAsm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_asm"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_asm"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalAsm_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalasminstance/zz_controller.go b/internal/controller/namespaced/database/managementexternalasminstance/zz_controller.go index 9220a03de..926e6cf34 100755 --- a/internal/controller/namespaced/database/managementexternalasminstance/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalasminstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalAsmInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalAsmInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalAsmInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalAsmInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_asm_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_asm_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalAsmInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalcluster/zz_controller.go b/internal/controller/namespaced/database/managementexternalcluster/zz_controller.go index f4192988b..0ad19831a 100755 --- a/internal/controller/namespaced/database/managementexternalcluster/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalclusterinstance/zz_controller.go b/internal/controller/namespaced/database/managementexternalclusterinstance/zz_controller.go index 9b68add01..25173bd73 100755 --- a/internal/controller/namespaced/database/managementexternalclusterinstance/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalclusterinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalClusterInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalClusterInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalClusterInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalClusterInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_cluster_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_cluster_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalClusterInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalcontainerdatabasedbmfeaturesmanagement/zz_controller.go b/internal/controller/namespaced/database/managementexternalcontainerdatabasedbmfeaturesmanagement/zz_controller.go index d61c4b5cd..ff9094e16 100755 --- a/internal/controller/namespaced/database/managementexternalcontainerdatabasedbmfeaturesmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalcontainerdatabasedbmfeaturesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalcontainerdatabaseDbmFeaturesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalcontainerdatabaseDbmFeaturesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalcontainerdatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalcontainerdatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_externalcontainerdatabase_external_container_dbm_features_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_externalcontainerdatabase_external_container_dbm_features_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalcontainerdatabaseDbmFeaturesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternaldbhome/zz_controller.go b/internal/controller/namespaced/database/managementexternaldbhome/zz_controller.go index 3a7c618e2..370f101e6 100755 --- a/internal/controller/namespaced/database/managementexternaldbhome/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternaldbhome/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbHome_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbHome_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbHome_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbHome_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_home"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_home"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbHome_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternaldbnode/zz_controller.go b/internal/controller/namespaced/database/managementexternaldbnode/zz_controller.go index 30b49c3d8..73c00c0c8 100755 --- a/internal/controller/namespaced/database/managementexternaldbnode/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternaldbnode/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbNode_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbNode_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbNode_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbNode_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_node"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_node"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbNode_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternaldbsystem/zz_controller.go b/internal/controller/namespaced/database/managementexternaldbsystem/zz_controller.go index 37d8aa7c1..62fd81001 100755 --- a/internal/controller/namespaced/database/managementexternaldbsystem/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternaldbsystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternaldbsystemconnector/zz_controller.go b/internal/controller/namespaced/database/managementexternaldbsystemconnector/zz_controller.go index 489278aa8..725824f3a 100755 --- a/internal/controller/namespaced/database/managementexternaldbsystemconnector/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternaldbsystemconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbSystemConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbSystemConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbSystemConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternaldbsystemdatabasemanagementsmanagement/zz_controller.go b/internal/controller/namespaced/database/managementexternaldbsystemdatabasemanagementsmanagement/zz_controller.go index 33dfe558b..8e44794de 100755 --- a/internal/controller/namespaced/database/managementexternaldbsystemdatabasemanagementsmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternaldbsystemdatabasemanagementsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbSystemDatabaseManagementsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbSystemDatabaseManagementsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemDatabaseManagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemDatabaseManagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_database_managements_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_database_managements_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbSystemDatabaseManagementsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternaldbsystemdiscovery/zz_controller.go b/internal/controller/namespaced/database/managementexternaldbsystemdiscovery/zz_controller.go index 9f2071115..cbd18fcfb 100755 --- a/internal/controller/namespaced/database/managementexternaldbsystemdiscovery/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternaldbsystemdiscovery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbSystemDiscovery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbSystemDiscovery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemDiscovery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemDiscovery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_discovery"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_discovery"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbSystemDiscovery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternaldbsystemstackmonitoringsmanagement/zz_controller.go b/internal/controller/namespaced/database/managementexternaldbsystemstackmonitoringsmanagement/zz_controller.go index 84e5464f9..f80b8a318 100755 --- a/internal/controller/namespaced/database/managementexternaldbsystemstackmonitoringsmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternaldbsystemstackmonitoringsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalDbSystemStackMonitoringsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalDbSystemStackMonitoringsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemStackMonitoringsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalDbSystemStackMonitoringsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_stack_monitorings_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_db_system_stack_monitorings_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalDbSystemStackMonitoringsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalexadatainfrastructure/zz_controller.go b/internal/controller/namespaced/database/managementexternalexadatainfrastructure/zz_controller.go index d0d520027..090929123 100755 --- a/internal/controller/namespaced/database/managementexternalexadatainfrastructure/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalexadatainfrastructure/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalExadataInfrastructure_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalExadataInfrastructure_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataInfrastructure_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_infrastructure"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_infrastructure"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalExadataInfrastructure_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalexadatainfrastructureexadatamanagement/zz_controller.go b/internal/controller/namespaced/database/managementexternalexadatainfrastructureexadatamanagement/zz_controller.go index a37a9228b..6f47ca7de 100755 --- a/internal/controller/namespaced/database/managementexternalexadatainfrastructureexadatamanagement/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalexadatainfrastructureexadatamanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalExadataInfrastructureExadataManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalExadataInfrastructureExadataManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataInfrastructureExadataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataInfrastructureExadataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_infrastructure_exadata_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_infrastructure_exadata_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalExadataInfrastructureExadataManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalexadatastorageconnector/zz_controller.go b/internal/controller/namespaced/database/managementexternalexadatastorageconnector/zz_controller.go index fe5972b31..aeb8f7b22 100755 --- a/internal/controller/namespaced/database/managementexternalexadatastorageconnector/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalexadatastorageconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalExadataStorageConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalExadataStorageConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataStorageConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataStorageConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_storage_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_storage_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalExadataStorageConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalexadatastoragegrid/zz_controller.go b/internal/controller/namespaced/database/managementexternalexadatastoragegrid/zz_controller.go index 420057004..7a611720c 100755 --- a/internal/controller/namespaced/database/managementexternalexadatastoragegrid/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalexadatastoragegrid/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalExadataStorageGrid_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalExadataStorageGrid_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataStorageGrid_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataStorageGrid_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_storage_grid"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_storage_grid"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalExadataStorageGrid_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalexadatastorageserver/zz_controller.go b/internal/controller/namespaced/database/managementexternalexadatastorageserver/zz_controller.go index 5c3984dd7..b69e9759d 100755 --- a/internal/controller/namespaced/database/managementexternalexadatastorageserver/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalexadatastorageserver/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalExadataStorageServer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalExadataStorageServer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataStorageServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalExadataStorageServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_storage_server"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_exadata_storage_server"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalExadataStorageServer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternallistener/zz_controller.go b/internal/controller/namespaced/database/managementexternallistener/zz_controller.go index 50a782445..3493d4c24 100755 --- a/internal/controller/namespaced/database/managementexternallistener/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternallistener/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalListener_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalListener_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalListener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalListener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_listener"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_listener"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalListener_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalmysqldatabase/zz_controller.go b/internal/controller/namespaced/database/managementexternalmysqldatabase/zz_controller.go index 065f66c54..382baaf81 100755 --- a/internal/controller/namespaced/database/managementexternalmysqldatabase/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalmysqldatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalMySqlDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalMySqlDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalMySqlDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalMySqlDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_my_sql_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_my_sql_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalMySqlDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalmysqldatabaseconnector/zz_controller.go b/internal/controller/namespaced/database/managementexternalmysqldatabaseconnector/zz_controller.go index 039b6a1ef..36a33ab66 100755 --- a/internal/controller/namespaced/database/managementexternalmysqldatabaseconnector/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalmysqldatabaseconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalMySqlDatabaseConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalMySqlDatabaseConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalMySqlDatabaseConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalMySqlDatabaseConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_my_sql_database_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_my_sql_database_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalMySqlDatabaseConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalmysqldatabaseexternalmysqldatabases/zz_controller.go b/internal/controller/namespaced/database/managementexternalmysqldatabaseexternalmysqldatabases/zz_controller.go index 506ea93a0..fa4e0622a 100755 --- a/internal/controller/namespaced/database/managementexternalmysqldatabaseexternalmysqldatabases/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalmysqldatabaseexternalmysqldatabases/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalMySqlDatabaseExternalMysqlDatabases_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalMySqlDatabaseExternalMysqlDatabases_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalMySqlDatabaseExternalMysqlDatabases_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalMySqlDatabaseExternalMysqlDatabases_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_my_sql_database_external_mysql_databases_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_external_my_sql_database_external_mysql_databases_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalMySqlDatabaseExternalMysqlDatabases_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalnoncontainerdatabasedbmfeaturesmanagement/zz_controller.go b/internal/controller/namespaced/database/managementexternalnoncontainerdatabasedbmfeaturesmanagement/zz_controller.go index a02a746bd..f03ecc1fa 100755 --- a/internal/controller/namespaced/database/managementexternalnoncontainerdatabasedbmfeaturesmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalnoncontainerdatabasedbmfeaturesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalnoncontainerdatabaseDbmFeaturesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalnoncontainerdatabaseDbmFeaturesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalnoncontainerdatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalnoncontainerdatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_externalnoncontainerdatabase_external_non_container_dbm_features_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_externalnoncontainerdatabase_external_non_container_dbm_features_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalnoncontainerdatabaseDbmFeaturesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementexternalpluggabledatabasedbmfeaturesmanagement/zz_controller.go b/internal/controller/namespaced/database/managementexternalpluggabledatabasedbmfeaturesmanagement/zz_controller.go index 489108a74..fd5e32e3a 100755 --- a/internal/controller/namespaced/database/managementexternalpluggabledatabasedbmfeaturesmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/managementexternalpluggabledatabasedbmfeaturesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementExternalpluggabledatabaseDbmFeaturesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementExternalpluggabledatabaseDbmFeaturesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalpluggabledatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementExternalpluggabledatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_externalpluggabledatabase_external_pluggable_dbm_features_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_externalpluggabledatabase_external_pluggable_dbm_features_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementExternalpluggabledatabaseDbmFeaturesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementmanageddatabase/zz_controller.go b/internal/controller/namespaced/database/managementmanageddatabase/zz_controller.go index 424f86201..0e7fe3193 100755 --- a/internal/controller/namespaced/database/managementmanageddatabase/zz_controller.go +++ b/internal/controller/namespaced/database/managementmanageddatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementManagedDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementManagedDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementManagedDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementmanageddatabasegroup/zz_controller.go b/internal/controller/namespaced/database/managementmanageddatabasegroup/zz_controller.go index be0fb8082..1dc4bb737 100755 --- a/internal/controller/namespaced/database/managementmanageddatabasegroup/zz_controller.go +++ b/internal/controller/namespaced/database/managementmanageddatabasegroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementManagedDatabaseGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementManagedDatabaseGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabaseGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabaseGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_database_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_database_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementManagedDatabaseGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementmanageddatabaseschangedatabaseparameter/zz_controller.go b/internal/controller/namespaced/database/managementmanageddatabaseschangedatabaseparameter/zz_controller.go index aebeb8011..8dc15214e 100755 --- a/internal/controller/namespaced/database/managementmanageddatabaseschangedatabaseparameter/zz_controller.go +++ b/internal/controller/namespaced/database/managementmanageddatabaseschangedatabaseparameter/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementManagedDatabasesChangeDatabaseParameter_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementManagedDatabasesChangeDatabaseParameter_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabasesChangeDatabaseParameter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabasesChangeDatabaseParameter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_databases_change_database_parameter"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_databases_change_database_parameter"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementManagedDatabasesChangeDatabaseParameter_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementmanageddatabasesresetdatabaseparameter/zz_controller.go b/internal/controller/namespaced/database/managementmanageddatabasesresetdatabaseparameter/zz_controller.go index eba77295d..b292357b4 100755 --- a/internal/controller/namespaced/database/managementmanageddatabasesresetdatabaseparameter/zz_controller.go +++ b/internal/controller/namespaced/database/managementmanageddatabasesresetdatabaseparameter/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementManagedDatabasesResetDatabaseParameter_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementManagedDatabasesResetDatabaseParameter_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabasesResetDatabaseParameter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementManagedDatabasesResetDatabaseParameter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_databases_reset_database_parameter"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_managed_databases_reset_database_parameter"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementManagedDatabasesResetDatabaseParameter_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementnamedcredential/zz_controller.go b/internal/controller/namespaced/database/managementnamedcredential/zz_controller.go index fccfa1ae4..2e70c7dba 100755 --- a/internal/controller/namespaced/database/managementnamedcredential/zz_controller.go +++ b/internal/controller/namespaced/database/managementnamedcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementNamedCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementNamedCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementNamedCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementNamedCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_named_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_named_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementNamedCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/managementpluggabledatabasedbmfeaturesmanagement/zz_controller.go b/internal/controller/namespaced/database/managementpluggabledatabasedbmfeaturesmanagement/zz_controller.go index 0e048bb1d..65e8a11b0 100755 --- a/internal/controller/namespaced/database/managementpluggabledatabasedbmfeaturesmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/managementpluggabledatabasedbmfeaturesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementPluggabledatabaseDbmFeaturesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementPluggabledatabaseDbmFeaturesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementPluggabledatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementPluggabledatabaseDbmFeaturesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_management_pluggabledatabase_pluggable_database_dbm_features_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementPluggabledatabaseDbmFeaturesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/migration/zz_controller.go b/internal/controller/namespaced/database/migration/zz_controller.go index bd1202804..3b9953fd5 100755 --- a/internal/controller/namespaced/database/migration/zz_controller.go +++ b/internal/controller/namespaced/database/migration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Migration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Migration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Migration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Migration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Migration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/migrationassessment/zz_controller.go b/internal/controller/namespaced/database/migrationassessment/zz_controller.go index 2ab45e00a..a14df428e 100755 --- a/internal/controller/namespaced/database/migrationassessment/zz_controller.go +++ b/internal/controller/namespaced/database/migrationassessment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationAssessment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationAssessment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration_assessment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration_assessment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationAssessment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/migrationassessmentassessoraction/zz_controller.go b/internal/controller/namespaced/database/migrationassessmentassessoraction/zz_controller.go index 2e55d5fe8..a5181dd49 100755 --- a/internal/controller/namespaced/database/migrationassessmentassessoraction/zz_controller.go +++ b/internal/controller/namespaced/database/migrationassessmentassessoraction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationAssessmentAssessorAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationAssessmentAssessorAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationAssessmentAssessorAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationAssessmentAssessorAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration_assessment_assessor_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration_assessment_assessor_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationAssessmentAssessorAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/migrationconnection/zz_controller.go b/internal/controller/namespaced/database/migrationconnection/zz_controller.go index 8fb3e34f1..ded4941d3 100755 --- a/internal/controller/namespaced/database/migrationconnection/zz_controller.go +++ b/internal/controller/namespaced/database/migrationconnection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationConnection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationConnection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationConnection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/migrationjob/zz_controller.go b/internal/controller/namespaced/database/migrationjob/zz_controller.go index 468ca5242..d84134f73 100755 --- a/internal/controller/namespaced/database/migrationjob/zz_controller.go +++ b/internal/controller/namespaced/database/migrationjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/migrationjobadvisorreportcheck/zz_controller.go b/internal/controller/namespaced/database/migrationjobadvisorreportcheck/zz_controller.go index b3c5b5031..cc42465d9 100755 --- a/internal/controller/namespaced/database/migrationjobadvisorreportcheck/zz_controller.go +++ b/internal/controller/namespaced/database/migrationjobadvisorreportcheck/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationJobAdvisorReportCheck_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationJobAdvisorReportCheck_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationJobAdvisorReportCheck_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationJobAdvisorReportCheck_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration_job_advisor_report_check"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration_job_advisor_report_check"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationJobAdvisorReportCheck_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/migrationmigration/zz_controller.go b/internal/controller/namespaced/database/migrationmigration/zz_controller.go index ad84ccee1..948e7df09 100755 --- a/internal/controller/namespaced/database/migrationmigration/zz_controller.go +++ b/internal/controller/namespaced/database/migrationmigration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MigrationMigration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MigrationMigration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationMigration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MigrationMigration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_migration_migration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_migration_migration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MigrationMigration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/oneoffpatch/zz_controller.go b/internal/controller/namespaced/database/oneoffpatch/zz_controller.go index f23953f5f..b7cc9db34 100755 --- a/internal/controller/namespaced/database/oneoffpatch/zz_controller.go +++ b/internal/controller/namespaced/database/oneoffpatch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OneoffPatch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OneoffPatch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OneoffPatch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OneoffPatch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_oneoff_patch"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_oneoff_patch"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OneoffPatch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/pluggabledatabase/zz_controller.go b/internal/controller/namespaced/database/pluggabledatabase/zz_controller.go index 9014b8ce0..52546c12b 100755 --- a/internal/controller/namespaced/database/pluggabledatabase/zz_controller.go +++ b/internal/controller/namespaced/database/pluggabledatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PluggableDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PluggableDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PluggableDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/pluggabledatabasepluggabledatabasemanagementsmanagement/zz_controller.go b/internal/controller/namespaced/database/pluggabledatabasepluggabledatabasemanagementsmanagement/zz_controller.go index 06a4cf2ed..8ecae0258 100755 --- a/internal/controller/namespaced/database/pluggabledatabasepluggabledatabasemanagementsmanagement/zz_controller.go +++ b/internal/controller/namespaced/database/pluggabledatabasepluggabledatabasemanagementsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PluggableDatabasePluggabledatabasemanagementsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PluggableDatabasePluggabledatabasemanagementsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabasePluggabledatabasemanagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabasePluggabledatabasemanagementsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_database_pluggabledatabasemanagements_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_database_pluggabledatabasemanagements_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PluggableDatabasePluggabledatabasemanagementsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/pluggabledatabaseslocalclone/zz_controller.go b/internal/controller/namespaced/database/pluggabledatabaseslocalclone/zz_controller.go index c26560d4c..47c9f9936 100755 --- a/internal/controller/namespaced/database/pluggabledatabaseslocalclone/zz_controller.go +++ b/internal/controller/namespaced/database/pluggabledatabaseslocalclone/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PluggableDatabasesLocalClone_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PluggableDatabasesLocalClone_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabasesLocalClone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabasesLocalClone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_databases_local_clone"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_databases_local_clone"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PluggableDatabasesLocalClone_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/pluggabledatabasesnapshot/zz_controller.go b/internal/controller/namespaced/database/pluggabledatabasesnapshot/zz_controller.go index 5b95bd9a4..8532df9fe 100755 --- a/internal/controller/namespaced/database/pluggabledatabasesnapshot/zz_controller.go +++ b/internal/controller/namespaced/database/pluggabledatabasesnapshot/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PluggableDatabaseSnapshot_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PluggableDatabaseSnapshot_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabaseSnapshot_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabaseSnapshot_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_database_snapshot"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_database_snapshot"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PluggableDatabaseSnapshot_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/pluggabledatabasesremoteclone/zz_controller.go b/internal/controller/namespaced/database/pluggabledatabasesremoteclone/zz_controller.go index ed0b00736..9072b4122 100755 --- a/internal/controller/namespaced/database/pluggabledatabasesremoteclone/zz_controller.go +++ b/internal/controller/namespaced/database/pluggabledatabasesremoteclone/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PluggableDatabasesRemoteClone_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PluggableDatabasesRemoteClone_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabasesRemoteClone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PluggableDatabasesRemoteClone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_databases_remote_clone"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_pluggable_databases_remote_clone"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PluggableDatabasesRemoteClone_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/scheduledaction/zz_controller.go b/internal/controller/namespaced/database/scheduledaction/zz_controller.go index addd246a5..fe4adf1f8 100755 --- a/internal/controller/namespaced/database/scheduledaction/zz_controller.go +++ b/internal/controller/namespaced/database/scheduledaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ScheduledAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ScheduledAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ScheduledAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ScheduledAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_scheduled_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_scheduled_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ScheduledAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/schedulingplan/zz_controller.go b/internal/controller/namespaced/database/schedulingplan/zz_controller.go index 5820689d1..c91b0506d 100755 --- a/internal/controller/namespaced/database/schedulingplan/zz_controller.go +++ b/internal/controller/namespaced/database/schedulingplan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SchedulingPlan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SchedulingPlan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulingPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulingPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_scheduling_plan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_scheduling_plan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SchedulingPlan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/schedulingpolicy/zz_controller.go b/internal/controller/namespaced/database/schedulingpolicy/zz_controller.go index 3a82bfc65..15139e055 100755 --- a/internal/controller/namespaced/database/schedulingpolicy/zz_controller.go +++ b/internal/controller/namespaced/database/schedulingpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SchedulingPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SchedulingPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulingPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulingPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_scheduling_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_scheduling_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SchedulingPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/schedulingpolicyschedulingwindow/zz_controller.go b/internal/controller/namespaced/database/schedulingpolicyschedulingwindow/zz_controller.go index 51d8db022..440b4f103 100755 --- a/internal/controller/namespaced/database/schedulingpolicyschedulingwindow/zz_controller.go +++ b/internal/controller/namespaced/database/schedulingpolicyschedulingwindow/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SchedulingPolicySchedulingWindow_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SchedulingPolicySchedulingWindow_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulingPolicySchedulingWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulingPolicySchedulingWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_scheduling_policy_scheduling_window"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_scheduling_policy_scheduling_window"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SchedulingPolicySchedulingWindow_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsdatabasetoolsconnection/zz_controller.go b/internal/controller/namespaced/database/toolsdatabasetoolsconnection/zz_controller.go index a009bc943..096990bcb 100755 --- a/internal/controller/namespaced/database/toolsdatabasetoolsconnection/zz_controller.go +++ b/internal/controller/namespaced/database/toolsdatabasetoolsconnection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsConnection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsConnection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsConnection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsdatabasetoolsdatabaseapigatewayconfig/zz_controller.go b/internal/controller/namespaced/database/toolsdatabasetoolsdatabaseapigatewayconfig/zz_controller.go index 0216ca913..0b7fe16e5 100755 --- a/internal/controller/namespaced/database/toolsdatabasetoolsdatabaseapigatewayconfig/zz_controller.go +++ b/internal/controller/namespaced/database/toolsdatabasetoolsdatabaseapigatewayconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsDatabaseApiGatewayConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsDatabaseApiGatewayConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsDatabaseApiGatewayConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsDatabaseApiGatewayConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_database_api_gateway_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_database_api_gateway_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsDatabaseApiGatewayConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsdatabasetoolsidentity/zz_controller.go b/internal/controller/namespaced/database/toolsdatabasetoolsidentity/zz_controller.go index ba1b38493..9293770da 100755 --- a/internal/controller/namespaced/database/toolsdatabasetoolsidentity/zz_controller.go +++ b/internal/controller/namespaced/database/toolsdatabasetoolsidentity/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsIdentity_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsIdentity_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsIdentity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsIdentity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_identity"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_identity"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsIdentity_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsdatabasetoolsmcpserver/zz_controller.go b/internal/controller/namespaced/database/toolsdatabasetoolsmcpserver/zz_controller.go index 51f42d750..5dcc166a7 100755 --- a/internal/controller/namespaced/database/toolsdatabasetoolsmcpserver/zz_controller.go +++ b/internal/controller/namespaced/database/toolsdatabasetoolsmcpserver/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsMcpServer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsMcpServer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsMcpServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsMcpServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_mcp_server"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_mcp_server"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsMcpServer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsdatabasetoolsmcptoolset/zz_controller.go b/internal/controller/namespaced/database/toolsdatabasetoolsmcptoolset/zz_controller.go index 261b565f3..a1a0d8255 100755 --- a/internal/controller/namespaced/database/toolsdatabasetoolsmcptoolset/zz_controller.go +++ b/internal/controller/namespaced/database/toolsdatabasetoolsmcptoolset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsMcpToolset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsMcpToolset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsMcpToolset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsMcpToolset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_mcp_toolset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_mcp_toolset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsMcpToolset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsdatabasetoolsprivateendpoint/zz_controller.go b/internal/controller/namespaced/database/toolsdatabasetoolsprivateendpoint/zz_controller.go index 5373d0bac..f4913cd83 100755 --- a/internal/controller/namespaced/database/toolsdatabasetoolsprivateendpoint/zz_controller.go +++ b/internal/controller/namespaced/database/toolsdatabasetoolsprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsdatabasetoolssqlreport/zz_controller.go b/internal/controller/namespaced/database/toolsdatabasetoolssqlreport/zz_controller.go index 23356a90d..22b1a3cb2 100755 --- a/internal/controller/namespaced/database/toolsdatabasetoolssqlreport/zz_controller.go +++ b/internal/controller/namespaced/database/toolsdatabasetoolssqlreport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsDatabaseToolsSqlReport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsDatabaseToolsSqlReport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsSqlReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsDatabaseToolsSqlReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_sql_report"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_database_tools_sql_report"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsDatabaseToolsSqlReport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsruntimedatabasetoolsapigatewayconfigpoolapispec/zz_controller.go b/internal/controller/namespaced/database/toolsruntimedatabasetoolsapigatewayconfigpoolapispec/zz_controller.go index 9b8797848..07ec5acb3 100755 --- a/internal/controller/namespaced/database/toolsruntimedatabasetoolsapigatewayconfigpoolapispec/zz_controller.go +++ b/internal/controller/namespaced/database/toolsruntimedatabasetoolsapigatewayconfigpoolapispec/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolApiSpec_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolApiSpec_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolApiSpec_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolApiSpec_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_pool_api_spec"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_pool_api_spec"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolApiSpec_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsruntimedatabasetoolsapigatewayconfigpoolautoapispec/zz_controller.go b/internal/controller/namespaced/database/toolsruntimedatabasetoolsapigatewayconfigpoolautoapispec/zz_controller.go index 011445ecc..45414b8ee 100755 --- a/internal/controller/namespaced/database/toolsruntimedatabasetoolsapigatewayconfigpoolautoapispec/zz_controller.go +++ b/internal/controller/namespaced/database/toolsruntimedatabasetoolsapigatewayconfigpoolautoapispec/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolAutoApiSpec_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolAutoApiSpec_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolAutoApiSpec_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolAutoApiSpec_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_pool_auto_api_spec"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_pool_auto_api_spec"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsApiGatewayConfigPoolAutoApiSpec_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectioncredential/zz_controller.go b/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectioncredential/zz_controller.go index 4bc6b9210..5dae0c47a 100755 --- a/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectioncredential/zz_controller.go +++ b/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectioncredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectioncredentialexecutegrantee/zz_controller.go b/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectioncredentialexecutegrantee/zz_controller.go index ac02f707a..d5dfccca3 100755 --- a/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectioncredentialexecutegrantee/zz_controller.go +++ b/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectioncredentialexecutegrantee/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialExecuteGrantee_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialExecuteGrantee_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialExecuteGrantee_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialExecuteGrantee_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_credential_execute_grantee"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_credential_execute_grantee"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialExecuteGrantee_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectioncredentialpublicsynonym/zz_controller.go b/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectioncredentialpublicsynonym/zz_controller.go index f6488ff61..2fc721038 100755 --- a/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectioncredentialpublicsynonym/zz_controller.go +++ b/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectioncredentialpublicsynonym/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialPublicSynonym_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialPublicSynonym_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialPublicSynonym_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialPublicSynonym_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_credential_public_synonym"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_credential_public_synonym"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsConnectionCredentialPublicSynonym_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectionpropertyset/zz_controller.go b/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectionpropertyset/zz_controller.go index 132b435db..faa94b213 100755 --- a/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectionpropertyset/zz_controller.go +++ b/internal/controller/namespaced/database/toolsruntimedatabasetoolsconnectionpropertyset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsConnectionPropertySet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsConnectionPropertySet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionPropertySet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsConnectionPropertySet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_property_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_connection_property_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsConnectionPropertySet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigglobal/zz_controller.go b/internal/controller/namespaced/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigglobal/zz_controller.go index 1941c9f0c..b72b225aa 100755 --- a/internal/controller/namespaced/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigglobal/zz_controller.go +++ b/internal/controller/namespaced/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigglobal/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigGlobal_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigGlobal_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigGlobal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigGlobal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_global"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_global"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigGlobal_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigpool/zz_controller.go b/internal/controller/namespaced/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigpool/zz_controller.go index 8474666ed..b5265b964 100755 --- a/internal/controller/namespaced/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigpool/zz_controller.go +++ b/internal/controller/namespaced/database/toolsruntimedatabasetoolsdatabaseapigatewayconfigpool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigPool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigPool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_tools_runtime_database_tools_database_api_gateway_config_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ToolsRuntimeDatabaseToolsDatabaseApiGatewayConfigPool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/vmcluster/zz_controller.go b/internal/controller/namespaced/database/vmcluster/zz_controller.go index 9aca7f563..c0f7ada74 100755 --- a/internal/controller/namespaced/database/vmcluster/zz_controller.go +++ b/internal/controller/namespaced/database/vmcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VmCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VmCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VmCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/vmclusteraddvirtualmachine/zz_controller.go b/internal/controller/namespaced/database/vmclusteraddvirtualmachine/zz_controller.go index 95f98e197..ffef2701f 100755 --- a/internal/controller/namespaced/database/vmclusteraddvirtualmachine/zz_controller.go +++ b/internal/controller/namespaced/database/vmclusteraddvirtualmachine/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VmClusterAddVirtualMachine_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VmClusterAddVirtualMachine_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmClusterAddVirtualMachine_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmClusterAddVirtualMachine_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster_add_virtual_machine"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster_add_virtual_machine"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VmClusterAddVirtualMachine_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/vmclusternetwork/zz_controller.go b/internal/controller/namespaced/database/vmclusternetwork/zz_controller.go index 64b3fec79..d6dc68ba1 100755 --- a/internal/controller/namespaced/database/vmclusternetwork/zz_controller.go +++ b/internal/controller/namespaced/database/vmclusternetwork/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VmClusterNetwork_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VmClusterNetwork_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmClusterNetwork_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmClusterNetwork_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster_network"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster_network"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VmClusterNetwork_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/database/vmclusterremovevirtualmachine/zz_controller.go b/internal/controller/namespaced/database/vmclusterremovevirtualmachine/zz_controller.go index be544a394..9f9c4dcf3 100755 --- a/internal/controller/namespaced/database/vmclusterremovevirtualmachine/zz_controller.go +++ b/internal/controller/namespaced/database/vmclusterremovevirtualmachine/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VmClusterRemoveVirtualMachine_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VmClusterRemoveVirtualMachine_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmClusterRemoveVirtualMachine_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VmClusterRemoveVirtualMachine_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster_remove_virtual_machine"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_database_vm_cluster_remove_virtual_machine"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VmClusterRemoveVirtualMachine_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datacatalog/catalog/zz_controller.go b/internal/controller/namespaced/datacatalog/catalog/zz_controller.go index 2de0197ec..107befa1a 100755 --- a/internal/controller/namespaced/datacatalog/catalog/zz_controller.go +++ b/internal/controller/namespaced/datacatalog/catalog/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Catalog_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Catalog_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Catalog_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Catalog_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_catalog"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_catalog"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Catalog_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datacatalog/catalogprivateendpoint/zz_controller.go b/internal/controller/namespaced/datacatalog/catalogprivateendpoint/zz_controller.go index cf917a1b2..13e775a01 100755 --- a/internal/controller/namespaced/datacatalog/catalogprivateendpoint/zz_controller.go +++ b/internal/controller/namespaced/datacatalog/catalogprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CatalogPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CatalogPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CatalogPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CatalogPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_catalog_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_catalog_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CatalogPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datacatalog/connection/zz_controller.go b/internal/controller/namespaced/datacatalog/connection/zz_controller.go index 986fc2f56..99242308e 100755 --- a/internal/controller/namespaced/datacatalog/connection/zz_controller.go +++ b/internal/controller/namespaced/datacatalog/connection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Connection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Connection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Connection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Connection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Connection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datacatalog/dataasset/zz_controller.go b/internal/controller/namespaced/datacatalog/dataasset/zz_controller.go index 0286984a8..09d215a7c 100755 --- a/internal/controller/namespaced/datacatalog/dataasset/zz_controller.go +++ b/internal/controller/namespaced/datacatalog/dataasset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataAsset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataAsset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_data_asset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_data_asset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataAsset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datacatalog/metastore/zz_controller.go b/internal/controller/namespaced/datacatalog/metastore/zz_controller.go index d78d27e94..d60f294c6 100755 --- a/internal/controller/namespaced/datacatalog/metastore/zz_controller.go +++ b/internal/controller/namespaced/datacatalog/metastore/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Metastore_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Metastore_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Metastore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Metastore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_metastore"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datacatalog_metastore"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Metastore_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataflow/application/zz_controller.go b/internal/controller/namespaced/dataflow/application/zz_controller.go index 286fec205..7759b25d1 100755 --- a/internal/controller/namespaced/dataflow/application/zz_controller.go +++ b/internal/controller/namespaced/dataflow/application/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Application_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Application_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Application_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Application_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataflow_application"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataflow_application"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Application_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataflow/invokerun/zz_controller.go b/internal/controller/namespaced/dataflow/invokerun/zz_controller.go index 20acc4838..fc58566ae 100755 --- a/internal/controller/namespaced/dataflow/invokerun/zz_controller.go +++ b/internal/controller/namespaced/dataflow/invokerun/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InvokeRun_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InvokeRun_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InvokeRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InvokeRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataflow_invoke_run"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataflow_invoke_run"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InvokeRun_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataflow/pool/zz_controller.go b/internal/controller/namespaced/dataflow/pool/zz_controller.go index 78ee07bd2..f1a776f85 100755 --- a/internal/controller/namespaced/dataflow/pool/zz_controller.go +++ b/internal/controller/namespaced/dataflow/pool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Pool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Pool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Pool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Pool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataflow_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataflow_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Pool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataflow/privateendpoint/zz_controller.go b/internal/controller/namespaced/dataflow/privateendpoint/zz_controller.go index 806bb8e3d..07f7f1c99 100755 --- a/internal/controller/namespaced/dataflow/privateendpoint/zz_controller.go +++ b/internal/controller/namespaced/dataflow/privateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataflow_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataflow_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataflow/runstatement/zz_controller.go b/internal/controller/namespaced/dataflow/runstatement/zz_controller.go index ace97add2..eb61a93e2 100755 --- a/internal/controller/namespaced/dataflow/runstatement/zz_controller.go +++ b/internal/controller/namespaced/dataflow/runstatement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RunStatement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RunStatement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RunStatement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RunStatement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataflow_run_statement"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataflow_run_statement"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RunStatement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataflow/sqlendpoint/zz_controller.go b/internal/controller/namespaced/dataflow/sqlendpoint/zz_controller.go index 82e783157..4b8269890 100755 --- a/internal/controller/namespaced/dataflow/sqlendpoint/zz_controller.go +++ b/internal/controller/namespaced/dataflow/sqlendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SqlEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SqlEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataflow_sql_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataflow_sql_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SqlEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataintegration/workspace/zz_controller.go b/internal/controller/namespaced/dataintegration/workspace/zz_controller.go index 030e48d82..734bc1cd0 100755 --- a/internal/controller/namespaced/dataintegration/workspace/zz_controller.go +++ b/internal/controller/namespaced/dataintegration/workspace/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Workspace_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Workspace_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Workspace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Workspace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Workspace_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataintegration/workspaceapplication/zz_controller.go b/internal/controller/namespaced/dataintegration/workspaceapplication/zz_controller.go index 722300d92..95db87c12 100755 --- a/internal/controller/namespaced/dataintegration/workspaceapplication/zz_controller.go +++ b/internal/controller/namespaced/dataintegration/workspaceapplication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceApplication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceApplication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceApplication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataintegration/workspaceapplicationpatch/zz_controller.go b/internal/controller/namespaced/dataintegration/workspaceapplicationpatch/zz_controller.go index b6032cb39..7bcd1fd70 100755 --- a/internal/controller/namespaced/dataintegration/workspaceapplicationpatch/zz_controller.go +++ b/internal/controller/namespaced/dataintegration/workspaceapplicationpatch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceApplicationPatch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceApplicationPatch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplicationPatch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplicationPatch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application_patch"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application_patch"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceApplicationPatch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataintegration/workspaceapplicationschedule/zz_controller.go b/internal/controller/namespaced/dataintegration/workspaceapplicationschedule/zz_controller.go index e00e88094..283e597c6 100755 --- a/internal/controller/namespaced/dataintegration/workspaceapplicationschedule/zz_controller.go +++ b/internal/controller/namespaced/dataintegration/workspaceapplicationschedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceApplicationSchedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceApplicationSchedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplicationSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplicationSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceApplicationSchedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataintegration/workspaceapplicationtaskschedule/zz_controller.go b/internal/controller/namespaced/dataintegration/workspaceapplicationtaskschedule/zz_controller.go index c078d8671..ceb97b651 100755 --- a/internal/controller/namespaced/dataintegration/workspaceapplicationtaskschedule/zz_controller.go +++ b/internal/controller/namespaced/dataintegration/workspaceapplicationtaskschedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceApplicationTaskSchedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceApplicationTaskSchedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplicationTaskSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceApplicationTaskSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application_task_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_application_task_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceApplicationTaskSchedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataintegration/workspaceexportrequest/zz_controller.go b/internal/controller/namespaced/dataintegration/workspaceexportrequest/zz_controller.go index 5548f923b..bcb62bb35 100755 --- a/internal/controller/namespaced/dataintegration/workspaceexportrequest/zz_controller.go +++ b/internal/controller/namespaced/dataintegration/workspaceexportrequest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceExportRequest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceExportRequest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceExportRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceExportRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_export_request"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_export_request"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceExportRequest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataintegration/workspacefolder/zz_controller.go b/internal/controller/namespaced/dataintegration/workspacefolder/zz_controller.go index 8111c68b4..d12b7adf4 100755 --- a/internal/controller/namespaced/dataintegration/workspacefolder/zz_controller.go +++ b/internal/controller/namespaced/dataintegration/workspacefolder/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceFolder_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceFolder_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceFolder_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceFolder_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_folder"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_folder"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceFolder_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataintegration/workspaceimportrequest/zz_controller.go b/internal/controller/namespaced/dataintegration/workspaceimportrequest/zz_controller.go index d47272796..340cf8731 100755 --- a/internal/controller/namespaced/dataintegration/workspaceimportrequest/zz_controller.go +++ b/internal/controller/namespaced/dataintegration/workspaceimportrequest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceImportRequest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceImportRequest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceImportRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceImportRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_import_request"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_import_request"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceImportRequest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataintegration/workspaceproject/zz_controller.go b/internal/controller/namespaced/dataintegration/workspaceproject/zz_controller.go index 9b2415e02..9cbef03bb 100755 --- a/internal/controller/namespaced/dataintegration/workspaceproject/zz_controller.go +++ b/internal/controller/namespaced/dataintegration/workspaceproject/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceProject_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceProject_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceProject_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceProject_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceProject_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dataintegration/workspacetask/zz_controller.go b/internal/controller/namespaced/dataintegration/workspacetask/zz_controller.go index 3005c7bd1..8656867d8 100755 --- a/internal/controller/namespaced/dataintegration/workspacetask/zz_controller.go +++ b/internal/controller/namespaced/dataintegration/workspacetask/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkspaceTask_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkspaceTask_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceTask_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkspaceTask_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_task"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dataintegration_workspace_task"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkspaceTask_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datalabelingservice/dataset/zz_controller.go b/internal/controller/namespaced/datalabelingservice/dataset/zz_controller.go index 9be9aee93..bc91424ec 100755 --- a/internal/controller/namespaced/datalabelingservice/dataset/zz_controller.go +++ b/internal/controller/namespaced/datalabelingservice/dataset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Dataset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Dataset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Dataset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Dataset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_labeling_service_dataset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_labeling_service_dataset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Dataset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/addsdmcolumns/zz_controller.go b/internal/controller/namespaced/datasafe/addsdmcolumns/zz_controller.go index 515fa14f8..8b8970775 100755 --- a/internal/controller/namespaced/datasafe/addsdmcolumns/zz_controller.go +++ b/internal/controller/namespaced/datasafe/addsdmcolumns/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AddSdmColumns_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AddSdmColumns_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AddSdmColumns_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AddSdmColumns_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_add_sdm_columns"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_add_sdm_columns"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AddSdmColumns_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/alert/zz_controller.go b/internal/controller/namespaced/datasafe/alert/zz_controller.go index 57f42204c..f80d2d3bf 100755 --- a/internal/controller/namespaced/datasafe/alert/zz_controller.go +++ b/internal/controller/namespaced/datasafe/alert/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Alert_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Alert_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Alert_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Alert_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_alert"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_alert"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Alert_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/alertpolicy/zz_controller.go b/internal/controller/namespaced/datasafe/alertpolicy/zz_controller.go index ddd436364..35ea4d123 100755 --- a/internal/controller/namespaced/datasafe/alertpolicy/zz_controller.go +++ b/internal/controller/namespaced/datasafe/alertpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AlertPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AlertPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlertPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlertPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_alert_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_alert_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AlertPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/alertpolicyrule/zz_controller.go b/internal/controller/namespaced/datasafe/alertpolicyrule/zz_controller.go index fedbe1e2f..0aa3af59b 100755 --- a/internal/controller/namespaced/datasafe/alertpolicyrule/zz_controller.go +++ b/internal/controller/namespaced/datasafe/alertpolicyrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AlertPolicyRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AlertPolicyRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlertPolicyRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlertPolicyRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_alert_policy_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_alert_policy_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AlertPolicyRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/attributeset/zz_controller.go b/internal/controller/namespaced/datasafe/attributeset/zz_controller.go index f33c1d7a6..507ad7608 100755 --- a/internal/controller/namespaced/datasafe/attributeset/zz_controller.go +++ b/internal/controller/namespaced/datasafe/attributeset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AttributeSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AttributeSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AttributeSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AttributeSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_attribute_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_attribute_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AttributeSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/auditarchiveretrieval/zz_controller.go b/internal/controller/namespaced/datasafe/auditarchiveretrieval/zz_controller.go index 163b5e6f2..f6f4fd2a9 100755 --- a/internal/controller/namespaced/datasafe/auditarchiveretrieval/zz_controller.go +++ b/internal/controller/namespaced/datasafe/auditarchiveretrieval/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditArchiveRetrieval_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditArchiveRetrieval_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditArchiveRetrieval_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditArchiveRetrieval_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_archive_retrieval"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_archive_retrieval"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditArchiveRetrieval_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/auditpolicy/zz_controller.go b/internal/controller/namespaced/datasafe/auditpolicy/zz_controller.go index 7f192f42f..e02f9313a 100755 --- a/internal/controller/namespaced/datasafe/auditpolicy/zz_controller.go +++ b/internal/controller/namespaced/datasafe/auditpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/auditpolicymanagement/zz_controller.go b/internal/controller/namespaced/datasafe/auditpolicymanagement/zz_controller.go index f4451cc26..475dfb87f 100755 --- a/internal/controller/namespaced/datasafe/auditpolicymanagement/zz_controller.go +++ b/internal/controller/namespaced/datasafe/auditpolicymanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditPolicyManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditPolicyManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditPolicyManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditPolicyManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_policy_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_policy_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditPolicyManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/auditprofile/zz_controller.go b/internal/controller/namespaced/datasafe/auditprofile/zz_controller.go index 054453f88..1f6c0991a 100755 --- a/internal/controller/namespaced/datasafe/auditprofile/zz_controller.go +++ b/internal/controller/namespaced/datasafe/auditprofile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditProfile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditProfile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_profile"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_profile"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditProfile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/auditprofilemanagement/zz_controller.go b/internal/controller/namespaced/datasafe/auditprofilemanagement/zz_controller.go index 9aad2fa2e..4ea7f1275 100755 --- a/internal/controller/namespaced/datasafe/auditprofilemanagement/zz_controller.go +++ b/internal/controller/namespaced/datasafe/auditprofilemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditProfileManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditProfileManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditProfileManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditProfileManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_profile_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_profile_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditProfileManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/audittrail/zz_controller.go b/internal/controller/namespaced/datasafe/audittrail/zz_controller.go index 41fe64292..bb4eb4b49 100755 --- a/internal/controller/namespaced/datasafe/audittrail/zz_controller.go +++ b/internal/controller/namespaced/datasafe/audittrail/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditTrail_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditTrail_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditTrail_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditTrail_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_trail"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_trail"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditTrail_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/audittrailmanagement/zz_controller.go b/internal/controller/namespaced/datasafe/audittrailmanagement/zz_controller.go index 08d80da52..68eeb47e0 100755 --- a/internal/controller/namespaced/datasafe/audittrailmanagement/zz_controller.go +++ b/internal/controller/namespaced/datasafe/audittrailmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuditTrailManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuditTrailManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditTrailManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuditTrailManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_trail_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_audit_trail_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuditTrailManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/calculateauditvolumeavailable/zz_controller.go b/internal/controller/namespaced/datasafe/calculateauditvolumeavailable/zz_controller.go index 80b51a470..11aea3aec 100755 --- a/internal/controller/namespaced/datasafe/calculateauditvolumeavailable/zz_controller.go +++ b/internal/controller/namespaced/datasafe/calculateauditvolumeavailable/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CalculateAuditVolumeAvailable_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CalculateAuditVolumeAvailable_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CalculateAuditVolumeAvailable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CalculateAuditVolumeAvailable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_calculate_audit_volume_available"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_calculate_audit_volume_available"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CalculateAuditVolumeAvailable_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/calculateauditvolumecollected/zz_controller.go b/internal/controller/namespaced/datasafe/calculateauditvolumecollected/zz_controller.go index dbfdb1e07..29e4b092f 100755 --- a/internal/controller/namespaced/datasafe/calculateauditvolumecollected/zz_controller.go +++ b/internal/controller/namespaced/datasafe/calculateauditvolumecollected/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CalculateAuditVolumeCollected_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CalculateAuditVolumeCollected_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CalculateAuditVolumeCollected_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CalculateAuditVolumeCollected_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_calculate_audit_volume_collected"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_calculate_audit_volume_collected"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CalculateAuditVolumeCollected_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/comparesecurityassessment/zz_controller.go b/internal/controller/namespaced/datasafe/comparesecurityassessment/zz_controller.go index 7b2f3af49..924f1c570 100755 --- a/internal/controller/namespaced/datasafe/comparesecurityassessment/zz_controller.go +++ b/internal/controller/namespaced/datasafe/comparesecurityassessment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CompareSecurityAssessment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CompareSecurityAssessment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CompareSecurityAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CompareSecurityAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_compare_security_assessment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_compare_security_assessment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CompareSecurityAssessment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/compareuserassessment/zz_controller.go b/internal/controller/namespaced/datasafe/compareuserassessment/zz_controller.go index 87ce1f179..29235743a 100755 --- a/internal/controller/namespaced/datasafe/compareuserassessment/zz_controller.go +++ b/internal/controller/namespaced/datasafe/compareuserassessment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CompareUserAssessment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CompareUserAssessment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CompareUserAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CompareUserAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_compare_user_assessment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_compare_user_assessment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CompareUserAssessment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/databasesecurityconfig/zz_controller.go b/internal/controller/namespaced/datasafe/databasesecurityconfig/zz_controller.go index 02aa230b1..4de6d1510 100755 --- a/internal/controller/namespaced/datasafe/databasesecurityconfig/zz_controller.go +++ b/internal/controller/namespaced/datasafe/databasesecurityconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseSecurityConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseSecurityConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSecurityConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSecurityConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_database_security_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_database_security_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseSecurityConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/databasesecurityconfigmanagement/zz_controller.go b/internal/controller/namespaced/datasafe/databasesecurityconfigmanagement/zz_controller.go index 5f57d90ca..6096427db 100755 --- a/internal/controller/namespaced/datasafe/databasesecurityconfigmanagement/zz_controller.go +++ b/internal/controller/namespaced/datasafe/databasesecurityconfigmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseSecurityConfigManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseSecurityConfigManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSecurityConfigManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseSecurityConfigManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_database_security_config_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_database_security_config_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseSecurityConfigManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/datasafeconfiguration/zz_controller.go b/internal/controller/namespaced/datasafe/datasafeconfiguration/zz_controller.go index add0486d9..b3ff54bda 100755 --- a/internal/controller/namespaced/datasafe/datasafeconfiguration/zz_controller.go +++ b/internal/controller/namespaced/datasafe/datasafeconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataSafeConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataSafeConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataSafeConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataSafeConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_data_safe_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_data_safe_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataSafeConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/datasafeprivateendpoint/zz_controller.go b/internal/controller/namespaced/datasafe/datasafeprivateendpoint/zz_controller.go index d115b1185..9827e0bba 100755 --- a/internal/controller/namespaced/datasafe/datasafeprivateendpoint/zz_controller.go +++ b/internal/controller/namespaced/datasafe/datasafeprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DataSafePrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DataSafePrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataSafePrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DataSafePrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_data_safe_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_data_safe_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DataSafePrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/discoveryjob/zz_controller.go b/internal/controller/namespaced/datasafe/discoveryjob/zz_controller.go index e99aebf9b..39f08eeb7 100755 --- a/internal/controller/namespaced/datasafe/discoveryjob/zz_controller.go +++ b/internal/controller/namespaced/datasafe/discoveryjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DiscoveryJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DiscoveryJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoveryJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoveryJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_discovery_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_discovery_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DiscoveryJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/discoveryjobsresult/zz_controller.go b/internal/controller/namespaced/datasafe/discoveryjobsresult/zz_controller.go index 0acd2c21d..8359916df 100755 --- a/internal/controller/namespaced/datasafe/discoveryjobsresult/zz_controller.go +++ b/internal/controller/namespaced/datasafe/discoveryjobsresult/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DiscoveryJobsResult_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DiscoveryJobsResult_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoveryJobsResult_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoveryJobsResult_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_discovery_jobs_result"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_discovery_jobs_result"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DiscoveryJobsResult_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/generateonpremconnectorconfiguration/zz_controller.go b/internal/controller/namespaced/datasafe/generateonpremconnectorconfiguration/zz_controller.go index f1b12c767..98e720f42 100755 --- a/internal/controller/namespaced/datasafe/generateonpremconnectorconfiguration/zz_controller.go +++ b/internal/controller/namespaced/datasafe/generateonpremconnectorconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.GenerateOnPremConnectorConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.GenerateOnPremConnectorConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GenerateOnPremConnectorConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GenerateOnPremConnectorConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_generate_on_prem_connector_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_generate_on_prem_connector_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.GenerateOnPremConnectorConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/librarymaskingformat/zz_controller.go b/internal/controller/namespaced/datasafe/librarymaskingformat/zz_controller.go index 11adf65dd..8c16f3391 100755 --- a/internal/controller/namespaced/datasafe/librarymaskingformat/zz_controller.go +++ b/internal/controller/namespaced/datasafe/librarymaskingformat/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LibraryMaskingFormat_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LibraryMaskingFormat_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LibraryMaskingFormat_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LibraryMaskingFormat_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_library_masking_format"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_library_masking_format"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LibraryMaskingFormat_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/maskdata/zz_controller.go b/internal/controller/namespaced/datasafe/maskdata/zz_controller.go index 74f38c6a0..7d5083b70 100755 --- a/internal/controller/namespaced/datasafe/maskdata/zz_controller.go +++ b/internal/controller/namespaced/datasafe/maskdata/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaskData_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaskData_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskData_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskData_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_mask_data"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_mask_data"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaskData_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/maskingpoliciesapplydifferencetomaskingcolumns/zz_controller.go b/internal/controller/namespaced/datasafe/maskingpoliciesapplydifferencetomaskingcolumns/zz_controller.go index 4601773dd..26eeea747 100755 --- a/internal/controller/namespaced/datasafe/maskingpoliciesapplydifferencetomaskingcolumns/zz_controller.go +++ b/internal/controller/namespaced/datasafe/maskingpoliciesapplydifferencetomaskingcolumns/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaskingPoliciesApplyDifferenceToMaskingColumns_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaskingPoliciesApplyDifferenceToMaskingColumns_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPoliciesApplyDifferenceToMaskingColumns_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPoliciesApplyDifferenceToMaskingColumns_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policies_apply_difference_to_masking_columns"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policies_apply_difference_to_masking_columns"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaskingPoliciesApplyDifferenceToMaskingColumns_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/maskingpoliciesmaskingcolumn/zz_controller.go b/internal/controller/namespaced/datasafe/maskingpoliciesmaskingcolumn/zz_controller.go index e2defd74b..74cbed187 100755 --- a/internal/controller/namespaced/datasafe/maskingpoliciesmaskingcolumn/zz_controller.go +++ b/internal/controller/namespaced/datasafe/maskingpoliciesmaskingcolumn/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaskingPoliciesMaskingColumn_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaskingPoliciesMaskingColumn_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPoliciesMaskingColumn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPoliciesMaskingColumn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policies_masking_column"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policies_masking_column"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaskingPoliciesMaskingColumn_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/maskingpolicy/zz_controller.go b/internal/controller/namespaced/datasafe/maskingpolicy/zz_controller.go index e17866ba0..377533785 100755 --- a/internal/controller/namespaced/datasafe/maskingpolicy/zz_controller.go +++ b/internal/controller/namespaced/datasafe/maskingpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaskingPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaskingPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaskingPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/maskingpolicyhealthreportmanagement/zz_controller.go b/internal/controller/namespaced/datasafe/maskingpolicyhealthreportmanagement/zz_controller.go index 927c26a73..74c50abd9 100755 --- a/internal/controller/namespaced/datasafe/maskingpolicyhealthreportmanagement/zz_controller.go +++ b/internal/controller/namespaced/datasafe/maskingpolicyhealthreportmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaskingPolicyHealthReportManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaskingPolicyHealthReportManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPolicyHealthReportManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingPolicyHealthReportManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policy_health_report_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_policy_health_report_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaskingPolicyHealthReportManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/maskingreportmanagement/zz_controller.go b/internal/controller/namespaced/datasafe/maskingreportmanagement/zz_controller.go index 416458e5e..de42f3f0a 100755 --- a/internal/controller/namespaced/datasafe/maskingreportmanagement/zz_controller.go +++ b/internal/controller/namespaced/datasafe/maskingreportmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaskingReportManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaskingReportManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingReportManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaskingReportManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_report_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_masking_report_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaskingReportManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/onpremconnector/zz_controller.go b/internal/controller/namespaced/datasafe/onpremconnector/zz_controller.go index 65bc94360..0ecb1daec 100755 --- a/internal/controller/namespaced/datasafe/onpremconnector/zz_controller.go +++ b/internal/controller/namespaced/datasafe/onpremconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OnPremConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OnPremConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OnPremConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OnPremConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_on_prem_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_on_prem_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OnPremConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/report/zz_controller.go b/internal/controller/namespaced/datasafe/report/zz_controller.go index b9db92ff7..0f9e21782 100755 --- a/internal/controller/namespaced/datasafe/report/zz_controller.go +++ b/internal/controller/namespaced/datasafe/report/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Report_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Report_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Report_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Report_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_report"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_report"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Report_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/reportdefinition/zz_controller.go b/internal/controller/namespaced/datasafe/reportdefinition/zz_controller.go index 4e8da035d..28e17f6b9 100755 --- a/internal/controller/namespaced/datasafe/reportdefinition/zz_controller.go +++ b/internal/controller/namespaced/datasafe/reportdefinition/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ReportDefinition_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ReportDefinition_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ReportDefinition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ReportDefinition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_report_definition"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_report_definition"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ReportDefinition_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/sdmmaskingpolicydifference/zz_controller.go b/internal/controller/namespaced/datasafe/sdmmaskingpolicydifference/zz_controller.go index 899809171..e8c67c29a 100755 --- a/internal/controller/namespaced/datasafe/sdmmaskingpolicydifference/zz_controller.go +++ b/internal/controller/namespaced/datasafe/sdmmaskingpolicydifference/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SdmMaskingPolicyDifference_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SdmMaskingPolicyDifference_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SdmMaskingPolicyDifference_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SdmMaskingPolicyDifference_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sdm_masking_policy_difference"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sdm_masking_policy_difference"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SdmMaskingPolicyDifference_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/securityassessment/zz_controller.go b/internal/controller/namespaced/datasafe/securityassessment/zz_controller.go index 70a307e92..1e214ed98 100755 --- a/internal/controller/namespaced/datasafe/securityassessment/zz_controller.go +++ b/internal/controller/namespaced/datasafe/securityassessment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityAssessment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityAssessment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_assessment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_assessment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityAssessment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/securityassessmentcheck/zz_controller.go b/internal/controller/namespaced/datasafe/securityassessmentcheck/zz_controller.go index 50ed70df2..da1339c28 100755 --- a/internal/controller/namespaced/datasafe/securityassessmentcheck/zz_controller.go +++ b/internal/controller/namespaced/datasafe/securityassessmentcheck/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityAssessmentCheck_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityAssessmentCheck_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAssessmentCheck_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAssessmentCheck_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_assessment_check"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_assessment_check"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityAssessmentCheck_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/securityassessmentfinding/zz_controller.go b/internal/controller/namespaced/datasafe/securityassessmentfinding/zz_controller.go index 27157e944..98b47a7d3 100755 --- a/internal/controller/namespaced/datasafe/securityassessmentfinding/zz_controller.go +++ b/internal/controller/namespaced/datasafe/securityassessmentfinding/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityAssessmentFinding_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityAssessmentFinding_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAssessmentFinding_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAssessmentFinding_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_assessment_finding"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_assessment_finding"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityAssessmentFinding_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/securitypolicy/zz_controller.go b/internal/controller/namespaced/datasafe/securitypolicy/zz_controller.go index 9e2936fb9..9375380ec 100755 --- a/internal/controller/namespaced/datasafe/securitypolicy/zz_controller.go +++ b/internal/controller/namespaced/datasafe/securitypolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/securitypolicyconfig/zz_controller.go b/internal/controller/namespaced/datasafe/securitypolicyconfig/zz_controller.go index dfcc0bf14..c39b13fef 100755 --- a/internal/controller/namespaced/datasafe/securitypolicyconfig/zz_controller.go +++ b/internal/controller/namespaced/datasafe/securitypolicyconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityPolicyConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityPolicyConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityPolicyConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/securitypolicydeployment/zz_controller.go b/internal/controller/namespaced/datasafe/securitypolicydeployment/zz_controller.go index 8e8b6bac7..6ca27c751 100755 --- a/internal/controller/namespaced/datasafe/securitypolicydeployment/zz_controller.go +++ b/internal/controller/namespaced/datasafe/securitypolicydeployment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityPolicyDeployment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityPolicyDeployment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyDeployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyDeployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_deployment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_deployment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityPolicyDeployment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/securitypolicydeploymentmanagement/zz_controller.go b/internal/controller/namespaced/datasafe/securitypolicydeploymentmanagement/zz_controller.go index 6aac4b14d..1271e0426 100755 --- a/internal/controller/namespaced/datasafe/securitypolicydeploymentmanagement/zz_controller.go +++ b/internal/controller/namespaced/datasafe/securitypolicydeploymentmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityPolicyDeploymentManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityPolicyDeploymentManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyDeploymentManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyDeploymentManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_deployment_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_deployment_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityPolicyDeploymentManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/securitypolicymanagement/zz_controller.go b/internal/controller/namespaced/datasafe/securitypolicymanagement/zz_controller.go index 2b681857f..651250667 100755 --- a/internal/controller/namespaced/datasafe/securitypolicymanagement/zz_controller.go +++ b/internal/controller/namespaced/datasafe/securitypolicymanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityPolicyManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityPolicyManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_security_policy_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityPolicyManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/sensitivedatamodel/zz_controller.go b/internal/controller/namespaced/datasafe/sensitivedatamodel/zz_controller.go index 51c5f44fd..7da6b4994 100755 --- a/internal/controller/namespaced/datasafe/sensitivedatamodel/zz_controller.go +++ b/internal/controller/namespaced/datasafe/sensitivedatamodel/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveDataModel_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveDataModel_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveDataModel_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/sensitivedatamodelreferentialrelation/zz_controller.go b/internal/controller/namespaced/datasafe/sensitivedatamodelreferentialrelation/zz_controller.go index 39e45dacf..0e0a34cb2 100755 --- a/internal/controller/namespaced/datasafe/sensitivedatamodelreferentialrelation/zz_controller.go +++ b/internal/controller/namespaced/datasafe/sensitivedatamodelreferentialrelation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveDataModelReferentialRelation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveDataModelReferentialRelation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModelReferentialRelation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModelReferentialRelation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_model_referential_relation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_model_referential_relation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveDataModelReferentialRelation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/sensitivedatamodelsapplydiscoveryjobresults/zz_controller.go b/internal/controller/namespaced/datasafe/sensitivedatamodelsapplydiscoveryjobresults/zz_controller.go index 936ebe5c1..d3da87e92 100755 --- a/internal/controller/namespaced/datasafe/sensitivedatamodelsapplydiscoveryjobresults/zz_controller.go +++ b/internal/controller/namespaced/datasafe/sensitivedatamodelsapplydiscoveryjobresults/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveDataModelsApplyDiscoveryJobResults_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveDataModelsApplyDiscoveryJobResults_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModelsApplyDiscoveryJobResults_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModelsApplyDiscoveryJobResults_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_models_apply_discovery_job_results"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_models_apply_discovery_job_results"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveDataModelsApplyDiscoveryJobResults_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/sensitivedatamodelssensitivecolumn/zz_controller.go b/internal/controller/namespaced/datasafe/sensitivedatamodelssensitivecolumn/zz_controller.go index fab9640f5..6a360f984 100755 --- a/internal/controller/namespaced/datasafe/sensitivedatamodelssensitivecolumn/zz_controller.go +++ b/internal/controller/namespaced/datasafe/sensitivedatamodelssensitivecolumn/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveDataModelsSensitiveColumn_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveDataModelsSensitiveColumn_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModelsSensitiveColumn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveDataModelsSensitiveColumn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_models_sensitive_column"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_data_models_sensitive_column"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveDataModelsSensitiveColumn_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/sensitivetype/zz_controller.go b/internal/controller/namespaced/datasafe/sensitivetype/zz_controller.go index d0a80fd97..d6dde96f2 100755 --- a/internal/controller/namespaced/datasafe/sensitivetype/zz_controller.go +++ b/internal/controller/namespaced/datasafe/sensitivetype/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveType_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveType_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_type"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_type"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveType_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/sensitivetypegroup/zz_controller.go b/internal/controller/namespaced/datasafe/sensitivetypegroup/zz_controller.go index 6db78573d..7ff883956 100755 --- a/internal/controller/namespaced/datasafe/sensitivetypegroup/zz_controller.go +++ b/internal/controller/namespaced/datasafe/sensitivetypegroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveTypeGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveTypeGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveTypeGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveTypeGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_type_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_type_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveTypeGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/sensitivetypegroupgroupedsensitivetype/zz_controller.go b/internal/controller/namespaced/datasafe/sensitivetypegroupgroupedsensitivetype/zz_controller.go index 8c5be9f81..04190e5db 100755 --- a/internal/controller/namespaced/datasafe/sensitivetypegroupgroupedsensitivetype/zz_controller.go +++ b/internal/controller/namespaced/datasafe/sensitivetypegroupgroupedsensitivetype/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveTypeGroupGroupedSensitiveType_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveTypeGroupGroupedSensitiveType_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveTypeGroupGroupedSensitiveType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveTypeGroupGroupedSensitiveType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_type_group_grouped_sensitive_type"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_type_group_grouped_sensitive_type"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveTypeGroupGroupedSensitiveType_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/sensitivetypesexport/zz_controller.go b/internal/controller/namespaced/datasafe/sensitivetypesexport/zz_controller.go index 3267439d1..e42362502 100755 --- a/internal/controller/namespaced/datasafe/sensitivetypesexport/zz_controller.go +++ b/internal/controller/namespaced/datasafe/sensitivetypesexport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SensitiveTypesExport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SensitiveTypesExport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveTypesExport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SensitiveTypesExport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_types_export"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sensitive_types_export"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SensitiveTypesExport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/setsecurityassessmentbaseline/zz_controller.go b/internal/controller/namespaced/datasafe/setsecurityassessmentbaseline/zz_controller.go index b6b0f550c..08df096a8 100755 --- a/internal/controller/namespaced/datasafe/setsecurityassessmentbaseline/zz_controller.go +++ b/internal/controller/namespaced/datasafe/setsecurityassessmentbaseline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SetSecurityAssessmentBaseline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SetSecurityAssessmentBaseline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetSecurityAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetSecurityAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_security_assessment_baseline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_security_assessment_baseline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SetSecurityAssessmentBaseline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/setsecurityassessmentbaselinemanagement/zz_controller.go b/internal/controller/namespaced/datasafe/setsecurityassessmentbaselinemanagement/zz_controller.go index ab2529345..e9a85f253 100755 --- a/internal/controller/namespaced/datasafe/setsecurityassessmentbaselinemanagement/zz_controller.go +++ b/internal/controller/namespaced/datasafe/setsecurityassessmentbaselinemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SetSecurityAssessmentBaselineManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SetSecurityAssessmentBaselineManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetSecurityAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetSecurityAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_security_assessment_baseline_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_security_assessment_baseline_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SetSecurityAssessmentBaselineManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/setuserassessmentbaseline/zz_controller.go b/internal/controller/namespaced/datasafe/setuserassessmentbaseline/zz_controller.go index ea62900a0..501cb6600 100755 --- a/internal/controller/namespaced/datasafe/setuserassessmentbaseline/zz_controller.go +++ b/internal/controller/namespaced/datasafe/setuserassessmentbaseline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SetUserAssessmentBaseline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SetUserAssessmentBaseline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetUserAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetUserAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_user_assessment_baseline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_user_assessment_baseline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SetUserAssessmentBaseline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/setuserassessmentbaselinemanagement/zz_controller.go b/internal/controller/namespaced/datasafe/setuserassessmentbaselinemanagement/zz_controller.go index 8b14e0ecc..58440fc82 100755 --- a/internal/controller/namespaced/datasafe/setuserassessmentbaselinemanagement/zz_controller.go +++ b/internal/controller/namespaced/datasafe/setuserassessmentbaselinemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SetUserAssessmentBaselineManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SetUserAssessmentBaselineManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetUserAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SetUserAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_user_assessment_baseline_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_set_user_assessment_baseline_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SetUserAssessmentBaselineManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/sqlcollection/zz_controller.go b/internal/controller/namespaced/datasafe/sqlcollection/zz_controller.go index a47e92243..feaa780b4 100755 --- a/internal/controller/namespaced/datasafe/sqlcollection/zz_controller.go +++ b/internal/controller/namespaced/datasafe/sqlcollection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SqlCollection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SqlCollection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlCollection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlCollection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sql_collection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sql_collection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SqlCollection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/sqlfirewallpolicy/zz_controller.go b/internal/controller/namespaced/datasafe/sqlfirewallpolicy/zz_controller.go index 42336e946..3a9f5831c 100755 --- a/internal/controller/namespaced/datasafe/sqlfirewallpolicy/zz_controller.go +++ b/internal/controller/namespaced/datasafe/sqlfirewallpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SqlFirewallPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SqlFirewallPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlFirewallPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlFirewallPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sql_firewall_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sql_firewall_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SqlFirewallPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/sqlfirewallpolicymanagement/zz_controller.go b/internal/controller/namespaced/datasafe/sqlfirewallpolicymanagement/zz_controller.go index add4cfb4f..41f15b09a 100755 --- a/internal/controller/namespaced/datasafe/sqlfirewallpolicymanagement/zz_controller.go +++ b/internal/controller/namespaced/datasafe/sqlfirewallpolicymanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SqlFirewallPolicyManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SqlFirewallPolicyManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlFirewallPolicyManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SqlFirewallPolicyManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sql_firewall_policy_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_sql_firewall_policy_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SqlFirewallPolicyManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/targetalertpolicyassociation/zz_controller.go b/internal/controller/namespaced/datasafe/targetalertpolicyassociation/zz_controller.go index 66f66efdd..e93aabd20 100755 --- a/internal/controller/namespaced/datasafe/targetalertpolicyassociation/zz_controller.go +++ b/internal/controller/namespaced/datasafe/targetalertpolicyassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TargetAlertPolicyAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TargetAlertPolicyAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetAlertPolicyAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetAlertPolicyAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_alert_policy_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_alert_policy_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TargetAlertPolicyAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/targetdatabase/zz_controller.go b/internal/controller/namespaced/datasafe/targetdatabase/zz_controller.go index a24660b51..c121274ed 100755 --- a/internal/controller/namespaced/datasafe/targetdatabase/zz_controller.go +++ b/internal/controller/namespaced/datasafe/targetdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TargetDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TargetDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TargetDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/targetdatabasegroup/zz_controller.go b/internal/controller/namespaced/datasafe/targetdatabasegroup/zz_controller.go index 734b43c8a..2d48a906a 100755 --- a/internal/controller/namespaced/datasafe/targetdatabasegroup/zz_controller.go +++ b/internal/controller/namespaced/datasafe/targetdatabasegroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TargetDatabaseGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TargetDatabaseGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetDatabaseGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetDatabaseGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_database_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_database_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TargetDatabaseGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/targetdatabasepeertargetdatabase/zz_controller.go b/internal/controller/namespaced/datasafe/targetdatabasepeertargetdatabase/zz_controller.go index 0a65023d7..d8a6c4ea2 100755 --- a/internal/controller/namespaced/datasafe/targetdatabasepeertargetdatabase/zz_controller.go +++ b/internal/controller/namespaced/datasafe/targetdatabasepeertargetdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TargetDatabasePeerTargetDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TargetDatabasePeerTargetDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetDatabasePeerTargetDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TargetDatabasePeerTargetDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_database_peer_target_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_target_database_peer_target_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TargetDatabasePeerTargetDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/unifiedauditpolicy/zz_controller.go b/internal/controller/namespaced/datasafe/unifiedauditpolicy/zz_controller.go index 944cee666..31c72fd5f 100755 --- a/internal/controller/namespaced/datasafe/unifiedauditpolicy/zz_controller.go +++ b/internal/controller/namespaced/datasafe/unifiedauditpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnifiedAuditPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnifiedAuditPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnifiedAuditPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnifiedAuditPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unified_audit_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unified_audit_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnifiedAuditPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/unifiedauditpolicydefinition/zz_controller.go b/internal/controller/namespaced/datasafe/unifiedauditpolicydefinition/zz_controller.go index 5789994e6..a8a464f27 100755 --- a/internal/controller/namespaced/datasafe/unifiedauditpolicydefinition/zz_controller.go +++ b/internal/controller/namespaced/datasafe/unifiedauditpolicydefinition/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnifiedAuditPolicyDefinition_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnifiedAuditPolicyDefinition_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnifiedAuditPolicyDefinition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnifiedAuditPolicyDefinition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unified_audit_policy_definition"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unified_audit_policy_definition"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnifiedAuditPolicyDefinition_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/unsetsecurityassessmentbaseline/zz_controller.go b/internal/controller/namespaced/datasafe/unsetsecurityassessmentbaseline/zz_controller.go index 6b77dd673..699fb9e2b 100755 --- a/internal/controller/namespaced/datasafe/unsetsecurityassessmentbaseline/zz_controller.go +++ b/internal/controller/namespaced/datasafe/unsetsecurityassessmentbaseline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnsetSecurityAssessmentBaseline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnsetSecurityAssessmentBaseline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetSecurityAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetSecurityAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_security_assessment_baseline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_security_assessment_baseline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnsetSecurityAssessmentBaseline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/unsetsecurityassessmentbaselinemanagement/zz_controller.go b/internal/controller/namespaced/datasafe/unsetsecurityassessmentbaselinemanagement/zz_controller.go index 6f90c03fb..2d94832af 100755 --- a/internal/controller/namespaced/datasafe/unsetsecurityassessmentbaselinemanagement/zz_controller.go +++ b/internal/controller/namespaced/datasafe/unsetsecurityassessmentbaselinemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnsetSecurityAssessmentBaselineManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnsetSecurityAssessmentBaselineManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetSecurityAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetSecurityAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_security_assessment_baseline_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_security_assessment_baseline_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnsetSecurityAssessmentBaselineManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/unsetuserassessmentbaseline/zz_controller.go b/internal/controller/namespaced/datasafe/unsetuserassessmentbaseline/zz_controller.go index 394a412ce..cf5cf4798 100755 --- a/internal/controller/namespaced/datasafe/unsetuserassessmentbaseline/zz_controller.go +++ b/internal/controller/namespaced/datasafe/unsetuserassessmentbaseline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnsetUserAssessmentBaseline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnsetUserAssessmentBaseline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetUserAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetUserAssessmentBaseline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_user_assessment_baseline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_user_assessment_baseline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnsetUserAssessmentBaseline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/unsetuserassessmentbaselinemanagement/zz_controller.go b/internal/controller/namespaced/datasafe/unsetuserassessmentbaselinemanagement/zz_controller.go index c0d250ee3..d598df2ab 100755 --- a/internal/controller/namespaced/datasafe/unsetuserassessmentbaselinemanagement/zz_controller.go +++ b/internal/controller/namespaced/datasafe/unsetuserassessmentbaselinemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnsetUserAssessmentBaselineManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnsetUserAssessmentBaselineManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetUserAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnsetUserAssessmentBaselineManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_user_assessment_baseline_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_unset_user_assessment_baseline_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnsetUserAssessmentBaselineManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datasafe/userassessment/zz_controller.go b/internal/controller/namespaced/datasafe/userassessment/zz_controller.go index 5dda6a1a4..f449cbafe 100755 --- a/internal/controller/namespaced/datasafe/userassessment/zz_controller.go +++ b/internal/controller/namespaced/datasafe/userassessment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UserAssessment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UserAssessment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserAssessment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_data_safe_user_assessment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_data_safe_user_assessment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UserAssessment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/computetarget/zz_controller.go b/internal/controller/namespaced/datascience/computetarget/zz_controller.go index 539578b5a..d1e6b5d4e 100755 --- a/internal/controller/namespaced/datascience/computetarget/zz_controller.go +++ b/internal/controller/namespaced/datascience/computetarget/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ComputeTarget_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ComputeTarget_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ComputeTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_compute_target"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_compute_target"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ComputeTarget_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/job/zz_controller.go b/internal/controller/namespaced/datascience/job/zz_controller.go index 9be512665..5cb5c5aa0 100755 --- a/internal/controller/namespaced/datascience/job/zz_controller.go +++ b/internal/controller/namespaced/datascience/job/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Job_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Job_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Job_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Job_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Job_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/jobrun/zz_controller.go b/internal/controller/namespaced/datascience/jobrun/zz_controller.go index 22e4b8fac..de39381e7 100755 --- a/internal/controller/namespaced/datascience/jobrun/zz_controller.go +++ b/internal/controller/namespaced/datascience/jobrun/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.JobRun_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.JobRun_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JobRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JobRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_job_run"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_job_run"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.JobRun_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/mlapplication/zz_controller.go b/internal/controller/namespaced/datascience/mlapplication/zz_controller.go index 1e13c8c24..47fbd40a5 100755 --- a/internal/controller/namespaced/datascience/mlapplication/zz_controller.go +++ b/internal/controller/namespaced/datascience/mlapplication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MlApplication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MlApplication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MlApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MlApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_ml_application"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_ml_application"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MlApplication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/mlapplicationimplementation/zz_controller.go b/internal/controller/namespaced/datascience/mlapplicationimplementation/zz_controller.go index 0237ad959..cd33b6e6b 100755 --- a/internal/controller/namespaced/datascience/mlapplicationimplementation/zz_controller.go +++ b/internal/controller/namespaced/datascience/mlapplicationimplementation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MlApplicationImplementation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MlApplicationImplementation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MlApplicationImplementation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MlApplicationImplementation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_ml_application_implementation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_ml_application_implementation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MlApplicationImplementation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/mlapplicationinstance/zz_controller.go b/internal/controller/namespaced/datascience/mlapplicationinstance/zz_controller.go index 231ff5f89..50a1660cf 100755 --- a/internal/controller/namespaced/datascience/mlapplicationinstance/zz_controller.go +++ b/internal/controller/namespaced/datascience/mlapplicationinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MlApplicationInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MlApplicationInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MlApplicationInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MlApplicationInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_ml_application_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_ml_application_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MlApplicationInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/model/zz_controller.go b/internal/controller/namespaced/datascience/model/zz_controller.go index b5dfcef8f..7da649d4e 100755 --- a/internal/controller/namespaced/datascience/model/zz_controller.go +++ b/internal/controller/namespaced/datascience/model/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Model_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Model_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Model_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/modelartifactexport/zz_controller.go b/internal/controller/namespaced/datascience/modelartifactexport/zz_controller.go index 0d3d341c7..564d69bd7 100755 --- a/internal/controller/namespaced/datascience/modelartifactexport/zz_controller.go +++ b/internal/controller/namespaced/datascience/modelartifactexport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelArtifactExport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelArtifactExport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelArtifactExport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelArtifactExport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_artifact_export"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_artifact_export"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelArtifactExport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/modelartifactimport/zz_controller.go b/internal/controller/namespaced/datascience/modelartifactimport/zz_controller.go index 4b1918923..bc1f5996b 100755 --- a/internal/controller/namespaced/datascience/modelartifactimport/zz_controller.go +++ b/internal/controller/namespaced/datascience/modelartifactimport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelArtifactImport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelArtifactImport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelArtifactImport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelArtifactImport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_artifact_import"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_artifact_import"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelArtifactImport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/modelcustommetadataartifact/zz_controller.go b/internal/controller/namespaced/datascience/modelcustommetadataartifact/zz_controller.go index d3a585204..8e6589353 100755 --- a/internal/controller/namespaced/datascience/modelcustommetadataartifact/zz_controller.go +++ b/internal/controller/namespaced/datascience/modelcustommetadataartifact/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelCustomMetadataArtifact_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelCustomMetadataArtifact_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelCustomMetadataArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelCustomMetadataArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_custom_metadata_artifact"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_custom_metadata_artifact"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelCustomMetadataArtifact_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/modeldefinedmetadataartifact/zz_controller.go b/internal/controller/namespaced/datascience/modeldefinedmetadataartifact/zz_controller.go index 8beae98e6..0639567a3 100755 --- a/internal/controller/namespaced/datascience/modeldefinedmetadataartifact/zz_controller.go +++ b/internal/controller/namespaced/datascience/modeldefinedmetadataartifact/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelDefinedMetadataArtifact_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelDefinedMetadataArtifact_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelDefinedMetadataArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelDefinedMetadataArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_defined_metadata_artifact"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_defined_metadata_artifact"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelDefinedMetadataArtifact_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/modeldeployment/zz_controller.go b/internal/controller/namespaced/datascience/modeldeployment/zz_controller.go index fc125ae9b..264bd0df7 100755 --- a/internal/controller/namespaced/datascience/modeldeployment/zz_controller.go +++ b/internal/controller/namespaced/datascience/modeldeployment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelDeployment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelDeployment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelDeployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelDeployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_deployment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_deployment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelDeployment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/modelgroup/zz_controller.go b/internal/controller/namespaced/datascience/modelgroup/zz_controller.go index 31b87bdd9..512c3e036 100755 --- a/internal/controller/namespaced/datascience/modelgroup/zz_controller.go +++ b/internal/controller/namespaced/datascience/modelgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/modelgroupartifact/zz_controller.go b/internal/controller/namespaced/datascience/modelgroupartifact/zz_controller.go index cd30de9f4..70613ff73 100755 --- a/internal/controller/namespaced/datascience/modelgroupartifact/zz_controller.go +++ b/internal/controller/namespaced/datascience/modelgroupartifact/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelGroupArtifact_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelGroupArtifact_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelGroupArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelGroupArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_group_artifact"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_group_artifact"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelGroupArtifact_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/modelgroupversionhistory/zz_controller.go b/internal/controller/namespaced/datascience/modelgroupversionhistory/zz_controller.go index 766098ad4..fff5d7dbe 100755 --- a/internal/controller/namespaced/datascience/modelgroupversionhistory/zz_controller.go +++ b/internal/controller/namespaced/datascience/modelgroupversionhistory/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelGroupVersionHistory_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelGroupVersionHistory_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelGroupVersionHistory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelGroupVersionHistory_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_group_version_history"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_group_version_history"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelGroupVersionHistory_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/modelprovenance/zz_controller.go b/internal/controller/namespaced/datascience/modelprovenance/zz_controller.go index 96f2ad180..6adafd7b5 100755 --- a/internal/controller/namespaced/datascience/modelprovenance/zz_controller.go +++ b/internal/controller/namespaced/datascience/modelprovenance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelProvenance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelProvenance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelProvenance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelProvenance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_provenance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_provenance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelProvenance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/modelversionset/zz_controller.go b/internal/controller/namespaced/datascience/modelversionset/zz_controller.go index af21ab62b..424a26348 100755 --- a/internal/controller/namespaced/datascience/modelversionset/zz_controller.go +++ b/internal/controller/namespaced/datascience/modelversionset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ModelVersionSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ModelVersionSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelVersionSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ModelVersionSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_version_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_model_version_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ModelVersionSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/notebooksession/zz_controller.go b/internal/controller/namespaced/datascience/notebooksession/zz_controller.go index e2c93d282..b2ec9cbfd 100755 --- a/internal/controller/namespaced/datascience/notebooksession/zz_controller.go +++ b/internal/controller/namespaced/datascience/notebooksession/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NotebookSession_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NotebookSession_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NotebookSession_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NotebookSession_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_notebook_session"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_notebook_session"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NotebookSession_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/pipeline/zz_controller.go b/internal/controller/namespaced/datascience/pipeline/zz_controller.go index 09d5df477..2e1b7b2f5 100755 --- a/internal/controller/namespaced/datascience/pipeline/zz_controller.go +++ b/internal/controller/namespaced/datascience/pipeline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Pipeline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Pipeline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Pipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Pipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_pipeline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_pipeline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Pipeline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/pipelinerun/zz_controller.go b/internal/controller/namespaced/datascience/pipelinerun/zz_controller.go index 732369d90..16325c906 100755 --- a/internal/controller/namespaced/datascience/pipelinerun/zz_controller.go +++ b/internal/controller/namespaced/datascience/pipelinerun/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PipelineRun_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PipelineRun_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PipelineRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PipelineRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_pipeline_run"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_pipeline_run"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PipelineRun_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/privateendpoint/zz_controller.go b/internal/controller/namespaced/datascience/privateendpoint/zz_controller.go index ac279b41f..e7165a4b1 100755 --- a/internal/controller/namespaced/datascience/privateendpoint/zz_controller.go +++ b/internal/controller/namespaced/datascience/privateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/project/zz_controller.go b/internal/controller/namespaced/datascience/project/zz_controller.go index 919e06d63..9088a1d00 100755 --- a/internal/controller/namespaced/datascience/project/zz_controller.go +++ b/internal/controller/namespaced/datascience/project/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Project_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Project_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Project_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/datascience/schedule/zz_controller.go b/internal/controller/namespaced/datascience/schedule/zz_controller.go index 4c1029d29..cb5e40559 100755 --- a/internal/controller/namespaced/datascience/schedule/zz_controller.go +++ b/internal/controller/namespaced/datascience/schedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Schedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Schedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Schedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Schedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_datascience_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_datascience_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Schedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dblm/vulnerabilityscan/zz_controller.go b/internal/controller/namespaced/dblm/vulnerabilityscan/zz_controller.go index 60b358553..38f1a6947 100755 --- a/internal/controller/namespaced/dblm/vulnerabilityscan/zz_controller.go +++ b/internal/controller/namespaced/dblm/vulnerabilityscan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VulnerabilityScan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VulnerabilityScan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VulnerabilityScan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VulnerabilityScan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dblm_vulnerability_scan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dblm_vulnerability_scan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VulnerabilityScan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dbmulticloud/multicloudresourcediscovery/zz_controller.go b/internal/controller/namespaced/dbmulticloud/multicloudresourcediscovery/zz_controller.go index 6dbeda749..97a811e6c 100755 --- a/internal/controller/namespaced/dbmulticloud/multicloudresourcediscovery/zz_controller.go +++ b/internal/controller/namespaced/dbmulticloud/multicloudresourcediscovery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MultiCloudResourceDiscovery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MultiCloudResourceDiscovery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MultiCloudResourceDiscovery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MultiCloudResourceDiscovery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_multi_cloud_resource_discovery"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_multi_cloud_resource_discovery"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MultiCloudResourceDiscovery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dbmulticloud/oracledbawsidentityconnector/zz_controller.go b/internal/controller/namespaced/dbmulticloud/oracledbawsidentityconnector/zz_controller.go index 986a4b80c..6f7868aec 100755 --- a/internal/controller/namespaced/dbmulticloud/oracledbawsidentityconnector/zz_controller.go +++ b/internal/controller/namespaced/dbmulticloud/oracledbawsidentityconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAwsIdentityConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAwsIdentityConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAwsIdentityConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAwsIdentityConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_aws_identity_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_aws_identity_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAwsIdentityConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dbmulticloud/oracledbawskey/zz_controller.go b/internal/controller/namespaced/dbmulticloud/oracledbawskey/zz_controller.go index 8355c6712..561bab92d 100755 --- a/internal/controller/namespaced/dbmulticloud/oracledbawskey/zz_controller.go +++ b/internal/controller/namespaced/dbmulticloud/oracledbawskey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAwsKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAwsKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAwsKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAwsKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_aws_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_aws_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAwsKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dbmulticloud/oracledbazureblobcontainer/zz_controller.go b/internal/controller/namespaced/dbmulticloud/oracledbazureblobcontainer/zz_controller.go index e74187387..32165c8b3 100755 --- a/internal/controller/namespaced/dbmulticloud/oracledbazureblobcontainer/zz_controller.go +++ b/internal/controller/namespaced/dbmulticloud/oracledbazureblobcontainer/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAzureBlobContainer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAzureBlobContainer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureBlobContainer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureBlobContainer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_blob_container"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_blob_container"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAzureBlobContainer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dbmulticloud/oracledbazureblobmount/zz_controller.go b/internal/controller/namespaced/dbmulticloud/oracledbazureblobmount/zz_controller.go index d0bef7d8e..057ba24e8 100755 --- a/internal/controller/namespaced/dbmulticloud/oracledbazureblobmount/zz_controller.go +++ b/internal/controller/namespaced/dbmulticloud/oracledbazureblobmount/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAzureBlobMount_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAzureBlobMount_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureBlobMount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureBlobMount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_blob_mount"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_blob_mount"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAzureBlobMount_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dbmulticloud/oracledbazureconnector/zz_controller.go b/internal/controller/namespaced/dbmulticloud/oracledbazureconnector/zz_controller.go index 5924a5ff4..98ccd45a6 100755 --- a/internal/controller/namespaced/dbmulticloud/oracledbazureconnector/zz_controller.go +++ b/internal/controller/namespaced/dbmulticloud/oracledbazureconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAzureConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAzureConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAzureConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dbmulticloud/oracledbazurevault/zz_controller.go b/internal/controller/namespaced/dbmulticloud/oracledbazurevault/zz_controller.go index 9ee78e73b..1015140ce 100755 --- a/internal/controller/namespaced/dbmulticloud/oracledbazurevault/zz_controller.go +++ b/internal/controller/namespaced/dbmulticloud/oracledbazurevault/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAzureVault_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAzureVault_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureVault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureVault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_vault"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_vault"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAzureVault_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dbmulticloud/oracledbazurevaultassociation/zz_controller.go b/internal/controller/namespaced/dbmulticloud/oracledbazurevaultassociation/zz_controller.go index 246c3c28e..e118e994a 100755 --- a/internal/controller/namespaced/dbmulticloud/oracledbazurevaultassociation/zz_controller.go +++ b/internal/controller/namespaced/dbmulticloud/oracledbazurevaultassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbAzureVaultAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbAzureVaultAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureVaultAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbAzureVaultAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_vault_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_azure_vault_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbAzureVaultAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dbmulticloud/oracledbgcpidentityconnector/zz_controller.go b/internal/controller/namespaced/dbmulticloud/oracledbgcpidentityconnector/zz_controller.go index db9f3c428..f853745a1 100755 --- a/internal/controller/namespaced/dbmulticloud/oracledbgcpidentityconnector/zz_controller.go +++ b/internal/controller/namespaced/dbmulticloud/oracledbgcpidentityconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbGcpIdentityConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbGcpIdentityConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbGcpIdentityConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbGcpIdentityConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_gcp_identity_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_gcp_identity_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbGcpIdentityConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dbmulticloud/oracledbgcpkeyring/zz_controller.go b/internal/controller/namespaced/dbmulticloud/oracledbgcpkeyring/zz_controller.go index 3258b003f..4cca980ee 100755 --- a/internal/controller/namespaced/dbmulticloud/oracledbgcpkeyring/zz_controller.go +++ b/internal/controller/namespaced/dbmulticloud/oracledbgcpkeyring/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleDbGcpKeyRing_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleDbGcpKeyRing_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbGcpKeyRing_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleDbGcpKeyRing_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_gcp_key_ring"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dbmulticloud_oracle_db_gcp_key_ring"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleDbGcpKeyRing_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/delegateaccesscontrol/delegationcontrol/zz_controller.go b/internal/controller/namespaced/delegateaccesscontrol/delegationcontrol/zz_controller.go index 40bb572c2..d688d4386 100755 --- a/internal/controller/namespaced/delegateaccesscontrol/delegationcontrol/zz_controller.go +++ b/internal/controller/namespaced/delegateaccesscontrol/delegationcontrol/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DelegationControl_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DelegationControl_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DelegationControl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DelegationControl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_delegate_access_control_delegation_control"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_delegate_access_control_delegation_control"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DelegationControl_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/delegateaccesscontrol/delegationsubscription/zz_controller.go b/internal/controller/namespaced/delegateaccesscontrol/delegationsubscription/zz_controller.go index 3ab77f3d2..dba908a7c 100755 --- a/internal/controller/namespaced/delegateaccesscontrol/delegationsubscription/zz_controller.go +++ b/internal/controller/namespaced/delegateaccesscontrol/delegationsubscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DelegationSubscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DelegationSubscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DelegationSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DelegationSubscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_delegate_access_control_delegation_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_delegate_access_control_delegation_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DelegationSubscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/demandsignal/occdemandsignal/zz_controller.go b/internal/controller/namespaced/demandsignal/occdemandsignal/zz_controller.go index 9bbb96493..9fcbb1b67 100755 --- a/internal/controller/namespaced/demandsignal/occdemandsignal/zz_controller.go +++ b/internal/controller/namespaced/demandsignal/occdemandsignal/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccDemandSignal_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccDemandSignal_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccDemandSignal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccDemandSignal_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_demand_signal_occ_demand_signal"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_demand_signal_occ_demand_signal"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccDemandSignal_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/demandsignal/occmetricalarm/zz_controller.go b/internal/controller/namespaced/demandsignal/occmetricalarm/zz_controller.go index 2154aeb79..9ff6d5ab2 100755 --- a/internal/controller/namespaced/demandsignal/occmetricalarm/zz_controller.go +++ b/internal/controller/namespaced/demandsignal/occmetricalarm/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OccMetricAlarm_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OccMetricAlarm_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccMetricAlarm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OccMetricAlarm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_demand_signal_occ_metric_alarm"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_demand_signal_occ_metric_alarm"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OccMetricAlarm_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/desktops/desktoppool/zz_controller.go b/internal/controller/namespaced/desktops/desktoppool/zz_controller.go index 56add77ad..41f52394b 100755 --- a/internal/controller/namespaced/desktops/desktoppool/zz_controller.go +++ b/internal/controller/namespaced/desktops/desktoppool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DesktopPool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DesktopPool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DesktopPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DesktopPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_desktops_desktop_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_desktops_desktop_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DesktopPool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/buildpipeline/zz_controller.go b/internal/controller/namespaced/devops/buildpipeline/zz_controller.go index c4fc17a75..de742f89f 100755 --- a/internal/controller/namespaced/devops/buildpipeline/zz_controller.go +++ b/internal/controller/namespaced/devops/buildpipeline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BuildPipeline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BuildPipeline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BuildPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BuildPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_build_pipeline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_build_pipeline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BuildPipeline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/buildpipelinestage/zz_controller.go b/internal/controller/namespaced/devops/buildpipelinestage/zz_controller.go index eccebbb9b..0ee27eafd 100755 --- a/internal/controller/namespaced/devops/buildpipelinestage/zz_controller.go +++ b/internal/controller/namespaced/devops/buildpipelinestage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BuildPipelineStage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BuildPipelineStage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BuildPipelineStage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BuildPipelineStage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_build_pipeline_stage"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_build_pipeline_stage"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BuildPipelineStage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/buildrun/zz_controller.go b/internal/controller/namespaced/devops/buildrun/zz_controller.go index dc1270fdc..9ec0d6cec 100755 --- a/internal/controller/namespaced/devops/buildrun/zz_controller.go +++ b/internal/controller/namespaced/devops/buildrun/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BuildRun_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BuildRun_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BuildRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BuildRun_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_build_run"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_build_run"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BuildRun_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/connection/zz_controller.go b/internal/controller/namespaced/devops/connection/zz_controller.go index 29979c1d6..402da457b 100755 --- a/internal/controller/namespaced/devops/connection/zz_controller.go +++ b/internal/controller/namespaced/devops/connection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Connection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Connection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Connection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Connection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Connection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/deployartifact/zz_controller.go b/internal/controller/namespaced/devops/deployartifact/zz_controller.go index 1c804f8b4..bf57774d9 100755 --- a/internal/controller/namespaced/devops/deployartifact/zz_controller.go +++ b/internal/controller/namespaced/devops/deployartifact/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DeployArtifact_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DeployArtifact_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployArtifact_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_artifact"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_artifact"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DeployArtifact_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/deployenvironment/zz_controller.go b/internal/controller/namespaced/devops/deployenvironment/zz_controller.go index 39dcbc02d..dec3ea4b8 100755 --- a/internal/controller/namespaced/devops/deployenvironment/zz_controller.go +++ b/internal/controller/namespaced/devops/deployenvironment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DeployEnvironment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DeployEnvironment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_environment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_environment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DeployEnvironment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/deployment/zz_controller.go b/internal/controller/namespaced/devops/deployment/zz_controller.go index 7c8264c0e..92859bccf 100755 --- a/internal/controller/namespaced/devops/deployment/zz_controller.go +++ b/internal/controller/namespaced/devops/deployment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Deployment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Deployment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Deployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Deployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_deployment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_deployment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Deployment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/deploypipeline/zz_controller.go b/internal/controller/namespaced/devops/deploypipeline/zz_controller.go index 1876fa9b0..3d3c96c46 100755 --- a/internal/controller/namespaced/devops/deploypipeline/zz_controller.go +++ b/internal/controller/namespaced/devops/deploypipeline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DeployPipeline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DeployPipeline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_pipeline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_pipeline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DeployPipeline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/deploystage/zz_controller.go b/internal/controller/namespaced/devops/deploystage/zz_controller.go index 15e4bff3e..6218aca10 100755 --- a/internal/controller/namespaced/devops/deploystage/zz_controller.go +++ b/internal/controller/namespaced/devops/deploystage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DeployStage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DeployStage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployStage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeployStage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_stage"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_deploy_stage"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DeployStage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/project/zz_controller.go b/internal/controller/namespaced/devops/project/zz_controller.go index 7aa86d7d1..644615a7d 100755 --- a/internal/controller/namespaced/devops/project/zz_controller.go +++ b/internal/controller/namespaced/devops/project/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Project_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Project_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Project_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/projectrepositorysetting/zz_controller.go b/internal/controller/namespaced/devops/projectrepositorysetting/zz_controller.go index a967f5b5c..41a1e4dc6 100755 --- a/internal/controller/namespaced/devops/projectrepositorysetting/zz_controller.go +++ b/internal/controller/namespaced/devops/projectrepositorysetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProjectRepositorySetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProjectRepositorySetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProjectRepositorySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProjectRepositorySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_project_repository_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_project_repository_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProjectRepositorySetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/repository/zz_controller.go b/internal/controller/namespaced/devops/repository/zz_controller.go index 188ed384a..45aae9729 100755 --- a/internal/controller/namespaced/devops/repository/zz_controller.go +++ b/internal/controller/namespaced/devops/repository/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Repository_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Repository_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Repository_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Repository_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_repository"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_repository"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Repository_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/repositorymirror/zz_controller.go b/internal/controller/namespaced/devops/repositorymirror/zz_controller.go index 52ad458a4..710adf026 100755 --- a/internal/controller/namespaced/devops/repositorymirror/zz_controller.go +++ b/internal/controller/namespaced/devops/repositorymirror/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RepositoryMirror_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RepositoryMirror_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositoryMirror_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositoryMirror_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_mirror"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_mirror"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RepositoryMirror_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/repositoryprotectedbranchmanagement/zz_controller.go b/internal/controller/namespaced/devops/repositoryprotectedbranchmanagement/zz_controller.go index 60c5d276e..c49ae171a 100755 --- a/internal/controller/namespaced/devops/repositoryprotectedbranchmanagement/zz_controller.go +++ b/internal/controller/namespaced/devops/repositoryprotectedbranchmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RepositoryProtectedBranchManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RepositoryProtectedBranchManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositoryProtectedBranchManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositoryProtectedBranchManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_protected_branch_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_protected_branch_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RepositoryProtectedBranchManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/repositoryref/zz_controller.go b/internal/controller/namespaced/devops/repositoryref/zz_controller.go index ba2e8074e..832cf2d43 100755 --- a/internal/controller/namespaced/devops/repositoryref/zz_controller.go +++ b/internal/controller/namespaced/devops/repositoryref/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RepositoryRef_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RepositoryRef_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositoryRef_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositoryRef_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_ref"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_ref"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RepositoryRef_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/repositorysetting/zz_controller.go b/internal/controller/namespaced/devops/repositorysetting/zz_controller.go index 09882a778..524e4eb7a 100755 --- a/internal/controller/namespaced/devops/repositorysetting/zz_controller.go +++ b/internal/controller/namespaced/devops/repositorysetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RepositorySetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RepositorySetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositorySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RepositorySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_repository_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RepositorySetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/devops/trigger/zz_controller.go b/internal/controller/namespaced/devops/trigger/zz_controller.go index 13f096ea2..97dced6b6 100755 --- a/internal/controller/namespaced/devops/trigger/zz_controller.go +++ b/internal/controller/namespaced/devops/trigger/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Trigger_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Trigger_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Trigger_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Trigger_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_devops_trigger"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_devops_trigger"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Trigger_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dif/stack/zz_controller.go b/internal/controller/namespaced/dif/stack/zz_controller.go index 02c95f928..8bbd4d8c2 100755 --- a/internal/controller/namespaced/dif/stack/zz_controller.go +++ b/internal/controller/namespaced/dif/stack/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Stack_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Stack_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Stack_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Stack_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dif_stack"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dif_stack"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Stack_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/disasterrecovery/automaticdrconfiguration/zz_controller.go b/internal/controller/namespaced/disasterrecovery/automaticdrconfiguration/zz_controller.go index 512838cf7..28d15f6e6 100755 --- a/internal/controller/namespaced/disasterrecovery/automaticdrconfiguration/zz_controller.go +++ b/internal/controller/namespaced/disasterrecovery/automaticdrconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AutomaticDrConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AutomaticDrConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutomaticDrConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AutomaticDrConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_automatic_dr_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_automatic_dr_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AutomaticDrConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/disasterrecovery/drplan/zz_controller.go b/internal/controller/namespaced/disasterrecovery/drplan/zz_controller.go index 7e7bc4f97..43b3a7c8b 100755 --- a/internal/controller/namespaced/disasterrecovery/drplan/zz_controller.go +++ b/internal/controller/namespaced/disasterrecovery/drplan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrPlan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrPlan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_dr_plan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_dr_plan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrPlan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/disasterrecovery/drplanexecution/zz_controller.go b/internal/controller/namespaced/disasterrecovery/drplanexecution/zz_controller.go index 70f6d9165..d39f718c9 100755 --- a/internal/controller/namespaced/disasterrecovery/drplanexecution/zz_controller.go +++ b/internal/controller/namespaced/disasterrecovery/drplanexecution/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrPlanExecution_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrPlanExecution_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrPlanExecution_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrPlanExecution_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_dr_plan_execution"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_dr_plan_execution"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrPlanExecution_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/disasterrecovery/drprotectiongroup/zz_controller.go b/internal/controller/namespaced/disasterrecovery/drprotectiongroup/zz_controller.go index d260bc0e4..2fec286a9 100755 --- a/internal/controller/namespaced/disasterrecovery/drprotectiongroup/zz_controller.go +++ b/internal/controller/namespaced/disasterrecovery/drprotectiongroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrProtectionGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrProtectionGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrProtectionGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrProtectionGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_dr_protection_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_disaster_recovery_dr_protection_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrProtectionGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/distributeddatabase/distributedautonomousdatabase/zz_controller.go b/internal/controller/namespaced/distributeddatabase/distributedautonomousdatabase/zz_controller.go index e048f8c62..a1c0fdf70 100755 --- a/internal/controller/namespaced/distributeddatabase/distributedautonomousdatabase/zz_controller.go +++ b/internal/controller/namespaced/distributeddatabase/distributedautonomousdatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DistributedAutonomousDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DistributedAutonomousDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DistributedAutonomousDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DistributedAutonomousDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_distributed_database_distributed_autonomous_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_distributed_database_distributed_autonomous_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DistributedAutonomousDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/distributeddatabase/distributeddatabase/zz_controller.go b/internal/controller/namespaced/distributeddatabase/distributeddatabase/zz_controller.go index 400d8a257..d76cf56eb 100755 --- a/internal/controller/namespaced/distributeddatabase/distributeddatabase/zz_controller.go +++ b/internal/controller/namespaced/distributeddatabase/distributeddatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DistributedDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DistributedDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DistributedDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DistributedDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_distributed_database_distributed_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_distributed_database_distributed_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DistributedDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/distributeddatabase/distributeddatabaseprivateendpoint/zz_controller.go b/internal/controller/namespaced/distributeddatabase/distributeddatabaseprivateendpoint/zz_controller.go index 2e3ade55d..7cf668f7d 100755 --- a/internal/controller/namespaced/distributeddatabase/distributeddatabaseprivateendpoint/zz_controller.go +++ b/internal/controller/namespaced/distributeddatabase/distributeddatabaseprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DistributedDatabasePrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DistributedDatabasePrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DistributedDatabasePrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DistributedDatabasePrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_distributed_database_distributed_database_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_distributed_database_distributed_database_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DistributedDatabasePrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dns/actioncreatezonefromzonefile/zz_controller.go b/internal/controller/namespaced/dns/actioncreatezonefromzonefile/zz_controller.go index cf3c4e666..71d819b5b 100755 --- a/internal/controller/namespaced/dns/actioncreatezonefromzonefile/zz_controller.go +++ b/internal/controller/namespaced/dns/actioncreatezonefromzonefile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ActionCreateZoneFromZoneFile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ActionCreateZoneFromZoneFile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ActionCreateZoneFromZoneFile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ActionCreateZoneFromZoneFile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_action_create_zone_from_zone_file"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_action_create_zone_from_zone_file"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ActionCreateZoneFromZoneFile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dns/record/zz_controller.go b/internal/controller/namespaced/dns/record/zz_controller.go index 207b77d65..b208d5010 100755 --- a/internal/controller/namespaced/dns/record/zz_controller.go +++ b/internal/controller/namespaced/dns/record/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Record_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Record_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Record_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Record_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_record"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_record"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Record_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dns/resolver/zz_controller.go b/internal/controller/namespaced/dns/resolver/zz_controller.go index 072bd3e53..bb29f3de4 100755 --- a/internal/controller/namespaced/dns/resolver/zz_controller.go +++ b/internal/controller/namespaced/dns/resolver/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Resolver_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Resolver_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Resolver_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Resolver_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_resolver"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_resolver"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Resolver_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dns/resolverendpoint/zz_controller.go b/internal/controller/namespaced/dns/resolverendpoint/zz_controller.go index e8bb68297..ba3ae1925 100755 --- a/internal/controller/namespaced/dns/resolverendpoint/zz_controller.go +++ b/internal/controller/namespaced/dns/resolverendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ResolverEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ResolverEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResolverEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResolverEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_resolver_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_resolver_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ResolverEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dns/rrset/zz_controller.go b/internal/controller/namespaced/dns/rrset/zz_controller.go index 97670935b..3becf85e5 100755 --- a/internal/controller/namespaced/dns/rrset/zz_controller.go +++ b/internal/controller/namespaced/dns/rrset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Rrset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Rrset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Rrset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Rrset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_rrset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_rrset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Rrset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dns/steeringpolicy/zz_controller.go b/internal/controller/namespaced/dns/steeringpolicy/zz_controller.go index c0ea0d499..a1dec322c 100755 --- a/internal/controller/namespaced/dns/steeringpolicy/zz_controller.go +++ b/internal/controller/namespaced/dns/steeringpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SteeringPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SteeringPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SteeringPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SteeringPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_steering_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_steering_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SteeringPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dns/steeringpolicyattachment/zz_controller.go b/internal/controller/namespaced/dns/steeringpolicyattachment/zz_controller.go index 44e0b6e14..59623f57c 100755 --- a/internal/controller/namespaced/dns/steeringpolicyattachment/zz_controller.go +++ b/internal/controller/namespaced/dns/steeringpolicyattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SteeringPolicyAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SteeringPolicyAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SteeringPolicyAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SteeringPolicyAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_steering_policy_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_steering_policy_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SteeringPolicyAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dns/tsigkey/zz_controller.go b/internal/controller/namespaced/dns/tsigkey/zz_controller.go index 538b13013..593f856b9 100755 --- a/internal/controller/namespaced/dns/tsigkey/zz_controller.go +++ b/internal/controller/namespaced/dns/tsigkey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TsigKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TsigKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TsigKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TsigKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_tsig_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_tsig_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TsigKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dns/view/zz_controller.go b/internal/controller/namespaced/dns/view/zz_controller.go index 64e005b1a..dcf5e3d32 100755 --- a/internal/controller/namespaced/dns/view/zz_controller.go +++ b/internal/controller/namespaced/dns/view/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.View_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.View_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.View_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.View_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_view"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_view"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.View_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dns/zone/zz_controller.go b/internal/controller/namespaced/dns/zone/zz_controller.go index 607baad35..1fb920d63 100755 --- a/internal/controller/namespaced/dns/zone/zz_controller.go +++ b/internal/controller/namespaced/dns/zone/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Zone_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Zone_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Zone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Zone_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_zone"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_zone"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Zone_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dns/zonepromotednsseckeyversion/zz_controller.go b/internal/controller/namespaced/dns/zonepromotednsseckeyversion/zz_controller.go index c84583739..59fa5f5d7 100755 --- a/internal/controller/namespaced/dns/zonepromotednsseckeyversion/zz_controller.go +++ b/internal/controller/namespaced/dns/zonepromotednsseckeyversion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ZonePromoteDnssecKeyVersion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ZonePromoteDnssecKeyVersion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ZonePromoteDnssecKeyVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ZonePromoteDnssecKeyVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_zone_promote_dnssec_key_version"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_zone_promote_dnssec_key_version"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ZonePromoteDnssecKeyVersion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/dns/zonestagednsseckeyversion/zz_controller.go b/internal/controller/namespaced/dns/zonestagednsseckeyversion/zz_controller.go index 6f5cea642..0119801c1 100755 --- a/internal/controller/namespaced/dns/zonestagednsseckeyversion/zz_controller.go +++ b/internal/controller/namespaced/dns/zonestagednsseckeyversion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ZoneStageDnssecKeyVersion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ZoneStageDnssecKeyVersion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ZoneStageDnssecKeyVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ZoneStageDnssecKeyVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_dns_zone_stage_dnssec_key_version"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_dns_zone_stage_dnssec_key_version"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ZoneStageDnssecKeyVersion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/email/dkim/zz_controller.go b/internal/controller/namespaced/email/dkim/zz_controller.go index 8686892fc..5ae1967cb 100755 --- a/internal/controller/namespaced/email/dkim/zz_controller.go +++ b/internal/controller/namespaced/email/dkim/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Dkim_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Dkim_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Dkim_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Dkim_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_email_dkim"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_email_dkim"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Dkim_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/email/emaildomain/zz_controller.go b/internal/controller/namespaced/email/emaildomain/zz_controller.go index ce369f39b..5b286302c 100755 --- a/internal/controller/namespaced/email/emaildomain/zz_controller.go +++ b/internal/controller/namespaced/email/emaildomain/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EmailDomain_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EmailDomain_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EmailDomain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EmailDomain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_email_email_domain"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_email_email_domain"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EmailDomain_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/email/emailippool/zz_controller.go b/internal/controller/namespaced/email/emailippool/zz_controller.go index d3092902a..92a0407dc 100755 --- a/internal/controller/namespaced/email/emailippool/zz_controller.go +++ b/internal/controller/namespaced/email/emailippool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EmailIpPool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EmailIpPool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EmailIpPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EmailIpPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_email_email_ip_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_email_email_ip_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EmailIpPool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/email/emailreturnpath/zz_controller.go b/internal/controller/namespaced/email/emailreturnpath/zz_controller.go index 86eac8fa0..eae33b935 100755 --- a/internal/controller/namespaced/email/emailreturnpath/zz_controller.go +++ b/internal/controller/namespaced/email/emailreturnpath/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EmailReturnPath_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EmailReturnPath_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EmailReturnPath_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EmailReturnPath_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_email_email_return_path"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_email_email_return_path"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EmailReturnPath_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/email/sender/zz_controller.go b/internal/controller/namespaced/email/sender/zz_controller.go index ebc9386f5..5ffc51575 100755 --- a/internal/controller/namespaced/email/sender/zz_controller.go +++ b/internal/controller/namespaced/email/sender/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Sender_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Sender_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Sender_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Sender_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_email_sender"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_email_sender"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Sender_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/email/suppression/zz_controller.go b/internal/controller/namespaced/email/suppression/zz_controller.go index 45f9346c2..be4100aca 100755 --- a/internal/controller/namespaced/email/suppression/zz_controller.go +++ b/internal/controller/namespaced/email/suppression/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Suppression_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Suppression_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Suppression_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Suppression_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_email_suppression"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_email_suppression"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Suppression_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/events/rule/zz_controller.go b/internal/controller/namespaced/events/rule/zz_controller.go index b52270371..54c32721d 100755 --- a/internal/controller/namespaced/events/rule/zz_controller.go +++ b/internal/controller/namespaced/events/rule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Rule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Rule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Rule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Rule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_events_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_events_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Rule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/filestorage/export/zz_controller.go b/internal/controller/namespaced/filestorage/export/zz_controller.go index 5f8de4d09..794777e34 100755 --- a/internal/controller/namespaced/filestorage/export/zz_controller.go +++ b/internal/controller/namespaced/filestorage/export/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Export_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Export_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Export_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Export_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_export"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_export"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Export_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/filestorage/exportset/zz_controller.go b/internal/controller/namespaced/filestorage/exportset/zz_controller.go index c8f27d6f3..7b4a8502f 100755 --- a/internal/controller/namespaced/filestorage/exportset/zz_controller.go +++ b/internal/controller/namespaced/filestorage/exportset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExportSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExportSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExportSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExportSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_export_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_export_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExportSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/filestorage/filesystem/zz_controller.go b/internal/controller/namespaced/filestorage/filesystem/zz_controller.go index 44ba7a086..6ad82ef11 100755 --- a/internal/controller/namespaced/filestorage/filesystem/zz_controller.go +++ b/internal/controller/namespaced/filestorage/filesystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FileSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FileSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FileSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FileSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_file_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_file_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FileSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/filestorage/filesystemquotarule/zz_controller.go b/internal/controller/namespaced/filestorage/filesystemquotarule/zz_controller.go index b2a696bea..1d3c7a97b 100755 --- a/internal/controller/namespaced/filestorage/filesystemquotarule/zz_controller.go +++ b/internal/controller/namespaced/filestorage/filesystemquotarule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FileSystemQuotaRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FileSystemQuotaRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FileSystemQuotaRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FileSystemQuotaRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_file_system_quota_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_file_system_quota_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FileSystemQuotaRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/filestorage/filesystemsnapshotpolicy/zz_controller.go b/internal/controller/namespaced/filestorage/filesystemsnapshotpolicy/zz_controller.go index 1ed5b0ff9..ef0b1e89e 100755 --- a/internal/controller/namespaced/filestorage/filesystemsnapshotpolicy/zz_controller.go +++ b/internal/controller/namespaced/filestorage/filesystemsnapshotpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FilesystemSnapshotPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FilesystemSnapshotPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FilesystemSnapshotPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FilesystemSnapshotPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_filesystem_snapshot_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_filesystem_snapshot_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FilesystemSnapshotPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/filestorage/mounttarget/zz_controller.go b/internal/controller/namespaced/filestorage/mounttarget/zz_controller.go index 2df1708ec..1c0674d7c 100755 --- a/internal/controller/namespaced/filestorage/mounttarget/zz_controller.go +++ b/internal/controller/namespaced/filestorage/mounttarget/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MountTarget_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MountTarget_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MountTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MountTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_mount_target"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_mount_target"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MountTarget_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/filestorage/outboundconnector/zz_controller.go b/internal/controller/namespaced/filestorage/outboundconnector/zz_controller.go index 299b5d4e1..2f35ec5d6 100755 --- a/internal/controller/namespaced/filestorage/outboundconnector/zz_controller.go +++ b/internal/controller/namespaced/filestorage/outboundconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OutboundConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OutboundConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OutboundConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OutboundConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_outbound_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_outbound_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OutboundConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/filestorage/replication/zz_controller.go b/internal/controller/namespaced/filestorage/replication/zz_controller.go index 7fbaf1a2d..3adb19d5c 100755 --- a/internal/controller/namespaced/filestorage/replication/zz_controller.go +++ b/internal/controller/namespaced/filestorage/replication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Replication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Replication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Replication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Replication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_replication"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_replication"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Replication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/filestorage/snapshot/zz_controller.go b/internal/controller/namespaced/filestorage/snapshot/zz_controller.go index c356ebb8e..813fbc9ba 100755 --- a/internal/controller/namespaced/filestorage/snapshot/zz_controller.go +++ b/internal/controller/namespaced/filestorage/snapshot/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Snapshot_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Snapshot_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Snapshot_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Snapshot_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_file_storage_snapshot"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_file_storage_snapshot"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Snapshot_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/catalogitem/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/catalogitem/zz_controller.go index 169c0aab6..f5a68ddea 100755 --- a/internal/controller/namespaced/fleetappsmanagement/catalogitem/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/catalogitem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CatalogItem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CatalogItem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CatalogItem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CatalogItem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_catalog_item"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_catalog_item"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CatalogItem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/compliancepolicyrule/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/compliancepolicyrule/zz_controller.go index 8e179fa57..91cdfb4a0 100755 --- a/internal/controller/namespaced/fleetappsmanagement/compliancepolicyrule/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/compliancepolicyrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CompliancePolicyRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CompliancePolicyRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CompliancePolicyRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CompliancePolicyRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_compliance_policy_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_compliance_policy_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CompliancePolicyRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/fleet/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/fleet/zz_controller.go index e73bf3bfa..8fcc25281 100755 --- a/internal/controller/namespaced/fleetappsmanagement/fleet/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/fleet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Fleet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Fleet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Fleet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Fleet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Fleet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/fleetcredential/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/fleetcredential/zz_controller.go index bcf0a49f2..046cfb0ba 100755 --- a/internal/controller/namespaced/fleetappsmanagement/fleetcredential/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/fleetcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FleetCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FleetCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FleetCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/fleetproperty/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/fleetproperty/zz_controller.go index e62558270..ff0c62fb3 100755 --- a/internal/controller/namespaced/fleetappsmanagement/fleetproperty/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/fleetproperty/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FleetProperty_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FleetProperty_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetProperty_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetProperty_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet_property"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet_property"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FleetProperty_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/fleetresource/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/fleetresource/zz_controller.go index eb4a5fc6d..a30f41bbe 100755 --- a/internal/controller/namespaced/fleetappsmanagement/fleetresource/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/fleetresource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FleetResource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FleetResource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetResource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetResource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet_resource"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_fleet_resource"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FleetResource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/maintenancewindow/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/maintenancewindow/zz_controller.go index 910ffed7d..a299898ca 100755 --- a/internal/controller/namespaced/fleetappsmanagement/maintenancewindow/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/maintenancewindow/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaintenanceWindow_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaintenanceWindow_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_maintenance_window"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_maintenance_window"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaintenanceWindow_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/onboarding/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/onboarding/zz_controller.go index 86c1390a6..84b643c87 100755 --- a/internal/controller/namespaced/fleetappsmanagement/onboarding/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/onboarding/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Onboarding_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Onboarding_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Onboarding_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Onboarding_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_onboarding"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_onboarding"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Onboarding_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/patch/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/patch/zz_controller.go index 07af3db41..813a554e4 100755 --- a/internal/controller/namespaced/fleetappsmanagement/patch/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/patch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Patch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Patch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Patch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Patch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_patch"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_patch"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Patch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/platformconfiguration/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/platformconfiguration/zz_controller.go index d14e44bc7..73f620325 100755 --- a/internal/controller/namespaced/fleetappsmanagement/platformconfiguration/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/platformconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PlatformConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PlatformConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PlatformConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PlatformConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_platform_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_platform_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PlatformConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/property/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/property/zz_controller.go index 16ad5f59b..6787d976e 100755 --- a/internal/controller/namespaced/fleetappsmanagement/property/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/property/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Property_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Property_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Property_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Property_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_property"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_property"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Property_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/provision/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/provision/zz_controller.go index bc90d5451..5ec6a16a7 100755 --- a/internal/controller/namespaced/fleetappsmanagement/provision/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/provision/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Provision_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Provision_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Provision_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Provision_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_provision"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_provision"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Provision_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/runbook/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/runbook/zz_controller.go index 2992dd9cf..ad3cbe787 100755 --- a/internal/controller/namespaced/fleetappsmanagement/runbook/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/runbook/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Runbook_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Runbook_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Runbook_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Runbook_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_runbook"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_runbook"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Runbook_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/runbookversion/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/runbookversion/zz_controller.go index c41022053..3bb3e32b4 100755 --- a/internal/controller/namespaced/fleetappsmanagement/runbookversion/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/runbookversion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RunbookVersion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RunbookVersion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RunbookVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RunbookVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_runbook_version"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_runbook_version"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RunbookVersion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/schedulerdefinition/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/schedulerdefinition/zz_controller.go index 614f14aad..f21312a60 100755 --- a/internal/controller/namespaced/fleetappsmanagement/schedulerdefinition/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/schedulerdefinition/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SchedulerDefinition_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SchedulerDefinition_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulerDefinition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SchedulerDefinition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_scheduler_definition"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_scheduler_definition"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SchedulerDefinition_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetappsmanagement/taskrecord/zz_controller.go b/internal/controller/namespaced/fleetappsmanagement/taskrecord/zz_controller.go index 5302cbc3e..54f861df7 100755 --- a/internal/controller/namespaced/fleetappsmanagement/taskrecord/zz_controller.go +++ b/internal/controller/namespaced/fleetappsmanagement/taskrecord/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TaskRecord_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TaskRecord_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TaskRecord_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TaskRecord_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_task_record"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_apps_management_task_record"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TaskRecord_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetsoftwareupdate/fsucollection/zz_controller.go b/internal/controller/namespaced/fleetsoftwareupdate/fsucollection/zz_controller.go index c301692d0..1de8e5fdc 100755 --- a/internal/controller/namespaced/fleetsoftwareupdate/fsucollection/zz_controller.go +++ b/internal/controller/namespaced/fleetsoftwareupdate/fsucollection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FsuCollection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FsuCollection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FsuCollection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FsuCollection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_software_update_fsu_collection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_software_update_fsu_collection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FsuCollection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetsoftwareupdate/fsucycle/zz_controller.go b/internal/controller/namespaced/fleetsoftwareupdate/fsucycle/zz_controller.go index 5153b10af..a4e05cfac 100755 --- a/internal/controller/namespaced/fleetsoftwareupdate/fsucycle/zz_controller.go +++ b/internal/controller/namespaced/fleetsoftwareupdate/fsucycle/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FsuCycle_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FsuCycle_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FsuCycle_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FsuCycle_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_software_update_fsu_cycle"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_software_update_fsu_cycle"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FsuCycle_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fleetsoftwareupdate/fsureadinesscheck/zz_controller.go b/internal/controller/namespaced/fleetsoftwareupdate/fsureadinesscheck/zz_controller.go index 40ea3cb1a..bf6880f8b 100755 --- a/internal/controller/namespaced/fleetsoftwareupdate/fsureadinesscheck/zz_controller.go +++ b/internal/controller/namespaced/fleetsoftwareupdate/fsureadinesscheck/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FsuReadinessCheck_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FsuReadinessCheck_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FsuReadinessCheck_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FsuReadinessCheck_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fleet_software_update_fsu_readiness_check"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fleet_software_update_fsu_readiness_check"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FsuReadinessCheck_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/functions/application/zz_controller.go b/internal/controller/namespaced/functions/application/zz_controller.go index 83152b5e6..5f6498cdf 100755 --- a/internal/controller/namespaced/functions/application/zz_controller.go +++ b/internal/controller/namespaced/functions/application/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Application_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Application_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Application_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Application_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_functions_application"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_functions_application"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Application_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/functions/function/zz_controller.go b/internal/controller/namespaced/functions/function/zz_controller.go index 9172b37f4..68429b067 100755 --- a/internal/controller/namespaced/functions/function/zz_controller.go +++ b/internal/controller/namespaced/functions/function/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Function_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Function_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Function_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Function_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_functions_function"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_functions_function"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Function_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/functions/invokefunction/zz_controller.go b/internal/controller/namespaced/functions/invokefunction/zz_controller.go index 1f3dd7f36..bbd20cc64 100755 --- a/internal/controller/namespaced/functions/invokefunction/zz_controller.go +++ b/internal/controller/namespaced/functions/invokefunction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InvokeFunction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InvokeFunction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InvokeFunction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InvokeFunction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_functions_invoke_function"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_functions_invoke_function"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InvokeFunction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fusionapps/fusionenvironment/zz_controller.go b/internal/controller/namespaced/fusionapps/fusionenvironment/zz_controller.go index 970a5b793..118af2dd5 100755 --- a/internal/controller/namespaced/fusionapps/fusionenvironment/zz_controller.go +++ b/internal/controller/namespaced/fusionapps/fusionenvironment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FusionEnvironment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FusionEnvironment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FusionEnvironment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fusionapps/fusionenvironmentadminuser/zz_controller.go b/internal/controller/namespaced/fusionapps/fusionenvironmentadminuser/zz_controller.go index 78e35d4a7..f8c16e2ba 100755 --- a/internal/controller/namespaced/fusionapps/fusionenvironmentadminuser/zz_controller.go +++ b/internal/controller/namespaced/fusionapps/fusionenvironmentadminuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FusionEnvironmentAdminUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FusionEnvironmentAdminUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentAdminUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentAdminUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_admin_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_admin_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FusionEnvironmentAdminUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fusionapps/fusionenvironmentdatamaskingactivity/zz_controller.go b/internal/controller/namespaced/fusionapps/fusionenvironmentdatamaskingactivity/zz_controller.go index 25f5d8353..2fe33679d 100755 --- a/internal/controller/namespaced/fusionapps/fusionenvironmentdatamaskingactivity/zz_controller.go +++ b/internal/controller/namespaced/fusionapps/fusionenvironmentdatamaskingactivity/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FusionEnvironmentDataMaskingActivity_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FusionEnvironmentDataMaskingActivity_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentDataMaskingActivity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentDataMaskingActivity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_data_masking_activity"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_data_masking_activity"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FusionEnvironmentDataMaskingActivity_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fusionapps/fusionenvironmentfamily/zz_controller.go b/internal/controller/namespaced/fusionapps/fusionenvironmentfamily/zz_controller.go index 27de31732..3efaf2c0f 100755 --- a/internal/controller/namespaced/fusionapps/fusionenvironmentfamily/zz_controller.go +++ b/internal/controller/namespaced/fusionapps/fusionenvironmentfamily/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FusionEnvironmentFamily_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FusionEnvironmentFamily_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentFamily_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentFamily_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_family"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_family"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FusionEnvironmentFamily_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fusionapps/fusionenvironmentrefreshactivity/zz_controller.go b/internal/controller/namespaced/fusionapps/fusionenvironmentrefreshactivity/zz_controller.go index 16c84d92f..7fc244bd9 100755 --- a/internal/controller/namespaced/fusionapps/fusionenvironmentrefreshactivity/zz_controller.go +++ b/internal/controller/namespaced/fusionapps/fusionenvironmentrefreshactivity/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FusionEnvironmentRefreshActivity_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FusionEnvironmentRefreshActivity_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentRefreshActivity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentRefreshActivity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_refresh_activity"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_refresh_activity"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FusionEnvironmentRefreshActivity_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/fusionapps/fusionenvironmentserviceattachment/zz_controller.go b/internal/controller/namespaced/fusionapps/fusionenvironmentserviceattachment/zz_controller.go index e99eb3c01..44c5e69f9 100755 --- a/internal/controller/namespaced/fusionapps/fusionenvironmentserviceattachment/zz_controller.go +++ b/internal/controller/namespaced/fusionapps/fusionenvironmentserviceattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FusionEnvironmentServiceAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FusionEnvironmentServiceAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentServiceAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FusionEnvironmentServiceAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_service_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_fusion_apps_fusion_environment_service_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FusionEnvironmentServiceAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/gdp/gdppipeline/zz_controller.go b/internal/controller/namespaced/gdp/gdppipeline/zz_controller.go index 239fe8f71..ca1ae7eba 100755 --- a/internal/controller/namespaced/gdp/gdppipeline/zz_controller.go +++ b/internal/controller/namespaced/gdp/gdppipeline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.GdpPipeline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.GdpPipeline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GdpPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GdpPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_gdp_gdp_pipeline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_gdp_gdp_pipeline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.GdpPipeline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/generativeai/agentagent/zz_controller.go b/internal/controller/namespaced/generativeai/agentagent/zz_controller.go index 62720945a..a631d02bf 100755 --- a/internal/controller/namespaced/generativeai/agentagent/zz_controller.go +++ b/internal/controller/namespaced/generativeai/agentagent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentAgent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentAgent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentAgent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentAgent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_agent"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_agent"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentAgent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/generativeai/agentagentendpoint/zz_controller.go b/internal/controller/namespaced/generativeai/agentagentendpoint/zz_controller.go index e7325999e..5d4e8bffd 100755 --- a/internal/controller/namespaced/generativeai/agentagentendpoint/zz_controller.go +++ b/internal/controller/namespaced/generativeai/agentagentendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentAgentEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentAgentEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentAgentEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentAgentEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_agent_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_agent_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentAgentEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/generativeai/agentdataingestionjob/zz_controller.go b/internal/controller/namespaced/generativeai/agentdataingestionjob/zz_controller.go index 50b35c62a..d7ebc2d7e 100755 --- a/internal/controller/namespaced/generativeai/agentdataingestionjob/zz_controller.go +++ b/internal/controller/namespaced/generativeai/agentdataingestionjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentDataIngestionJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentDataIngestionJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentDataIngestionJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentDataIngestionJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_data_ingestion_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_data_ingestion_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentDataIngestionJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/generativeai/agentdatasource/zz_controller.go b/internal/controller/namespaced/generativeai/agentdatasource/zz_controller.go index 6bf2d48d8..f9c484fa6 100755 --- a/internal/controller/namespaced/generativeai/agentdatasource/zz_controller.go +++ b/internal/controller/namespaced/generativeai/agentdatasource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentDataSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentDataSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentDataSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentDataSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_data_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_data_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentDataSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/generativeai/agentknowledgebase/zz_controller.go b/internal/controller/namespaced/generativeai/agentknowledgebase/zz_controller.go index 1edc7576c..a94d8c12b 100755 --- a/internal/controller/namespaced/generativeai/agentknowledgebase/zz_controller.go +++ b/internal/controller/namespaced/generativeai/agentknowledgebase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentKnowledgeBase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentKnowledgeBase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentKnowledgeBase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentKnowledgeBase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_knowledge_base"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_knowledge_base"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentKnowledgeBase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/generativeai/agentprovisionedcapacity/zz_controller.go b/internal/controller/namespaced/generativeai/agentprovisionedcapacity/zz_controller.go index a212b79d3..744b1ad93 100755 --- a/internal/controller/namespaced/generativeai/agentprovisionedcapacity/zz_controller.go +++ b/internal/controller/namespaced/generativeai/agentprovisionedcapacity/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentProvisionedCapacity_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentProvisionedCapacity_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentProvisionedCapacity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentProvisionedCapacity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_provisioned_capacity"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_provisioned_capacity"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentProvisionedCapacity_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/generativeai/agenttool/zz_controller.go b/internal/controller/namespaced/generativeai/agenttool/zz_controller.go index a4df6dd75..4f10c8108 100755 --- a/internal/controller/namespaced/generativeai/agenttool/zz_controller.go +++ b/internal/controller/namespaced/generativeai/agenttool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AgentTool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AgentTool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentTool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AgentTool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_tool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_agent_tool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AgentTool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/generativeai/dedicatedaicluster/zz_controller.go b/internal/controller/namespaced/generativeai/dedicatedaicluster/zz_controller.go index 3be356c42..c12c7d280 100755 --- a/internal/controller/namespaced/generativeai/dedicatedaicluster/zz_controller.go +++ b/internal/controller/namespaced/generativeai/dedicatedaicluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DedicatedAiCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DedicatedAiCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DedicatedAiCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DedicatedAiCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_dedicated_ai_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_dedicated_ai_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DedicatedAiCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/generativeai/endpoint/zz_controller.go b/internal/controller/namespaced/generativeai/endpoint/zz_controller.go index f09ae7795..038804323 100755 --- a/internal/controller/namespaced/generativeai/endpoint/zz_controller.go +++ b/internal/controller/namespaced/generativeai/endpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Endpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Endpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Endpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Endpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Endpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/generativeai/importedmodel/zz_controller.go b/internal/controller/namespaced/generativeai/importedmodel/zz_controller.go index b9d1c500e..424e824b3 100755 --- a/internal/controller/namespaced/generativeai/importedmodel/zz_controller.go +++ b/internal/controller/namespaced/generativeai/importedmodel/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ImportedModel_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ImportedModel_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ImportedModel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ImportedModel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_imported_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_imported_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ImportedModel_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/generativeai/model/zz_controller.go b/internal/controller/namespaced/generativeai/model/zz_controller.go index 969c440c5..26649304b 100755 --- a/internal/controller/namespaced/generativeai/model/zz_controller.go +++ b/internal/controller/namespaced/generativeai/model/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Model_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Model_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Model_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/generativeai/project/zz_controller.go b/internal/controller/namespaced/generativeai/project/zz_controller.go index eb380350c..9df22b079 100755 --- a/internal/controller/namespaced/generativeai/project/zz_controller.go +++ b/internal/controller/namespaced/generativeai/project/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Project_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Project_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_project"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_project"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Project_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/generativeai/semanticstore/zz_controller.go b/internal/controller/namespaced/generativeai/semanticstore/zz_controller.go index ce1b7fb51..ebd2feeff 100755 --- a/internal/controller/namespaced/generativeai/semanticstore/zz_controller.go +++ b/internal/controller/namespaced/generativeai/semanticstore/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SemanticStore_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SemanticStore_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SemanticStore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SemanticStore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_semantic_store"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generative_ai_semantic_store"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SemanticStore_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/genericartifactscontent/artifactbypath/zz_controller.go b/internal/controller/namespaced/genericartifactscontent/artifactbypath/zz_controller.go index 22e257d95..55c9c08ea 100755 --- a/internal/controller/namespaced/genericartifactscontent/artifactbypath/zz_controller.go +++ b/internal/controller/namespaced/genericartifactscontent/artifactbypath/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ArtifactByPath_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ArtifactByPath_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ArtifactByPath_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ArtifactByPath_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_generic_artifacts_content_artifact_by_path"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_generic_artifacts_content_artifact_by_path"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ArtifactByPath_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/goldengate/connection/zz_controller.go b/internal/controller/namespaced/goldengate/connection/zz_controller.go index 59e45f08a..0dd3d4cc9 100755 --- a/internal/controller/namespaced/goldengate/connection/zz_controller.go +++ b/internal/controller/namespaced/goldengate/connection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Connection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Connection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Connection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Connection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Connection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/goldengate/connectionassignment/zz_controller.go b/internal/controller/namespaced/goldengate/connectionassignment/zz_controller.go index a3974fb22..9f1d8b245 100755 --- a/internal/controller/namespaced/goldengate/connectionassignment/zz_controller.go +++ b/internal/controller/namespaced/goldengate/connectionassignment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConnectionAssignment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ConnectionAssignment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConnectionAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConnectionAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_connection_assignment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_connection_assignment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ConnectionAssignment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/goldengate/databaseregistration/zz_controller.go b/internal/controller/namespaced/goldengate/databaseregistration/zz_controller.go index a6634f45e..18526f579 100755 --- a/internal/controller/namespaced/goldengate/databaseregistration/zz_controller.go +++ b/internal/controller/namespaced/goldengate/databaseregistration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseRegistration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseRegistration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseRegistration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseRegistration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_database_registration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_database_registration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseRegistration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/goldengate/deployment/zz_controller.go b/internal/controller/namespaced/goldengate/deployment/zz_controller.go index 2f95039af..ecb21abec 100755 --- a/internal/controller/namespaced/goldengate/deployment/zz_controller.go +++ b/internal/controller/namespaced/goldengate/deployment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Deployment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Deployment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Deployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Deployment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_deployment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_deployment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Deployment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/goldengate/deploymentbackup/zz_controller.go b/internal/controller/namespaced/goldengate/deploymentbackup/zz_controller.go index 3d405e2b1..e6282c7fe 100755 --- a/internal/controller/namespaced/goldengate/deploymentbackup/zz_controller.go +++ b/internal/controller/namespaced/goldengate/deploymentbackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DeploymentBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DeploymentBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeploymentBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeploymentBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_deployment_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_deployment_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DeploymentBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/goldengate/deploymentcertificate/zz_controller.go b/internal/controller/namespaced/goldengate/deploymentcertificate/zz_controller.go index 3fa0f3a4f..e62dbd94e 100755 --- a/internal/controller/namespaced/goldengate/deploymentcertificate/zz_controller.go +++ b/internal/controller/namespaced/goldengate/deploymentcertificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DeploymentCertificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DeploymentCertificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeploymentCertificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DeploymentCertificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_deployment_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_deployment_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DeploymentCertificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/goldengate/pipeline/zz_controller.go b/internal/controller/namespaced/goldengate/pipeline/zz_controller.go index 2aaf95313..d1b584810 100755 --- a/internal/controller/namespaced/goldengate/pipeline/zz_controller.go +++ b/internal/controller/namespaced/goldengate/pipeline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Pipeline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Pipeline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Pipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Pipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_pipeline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_golden_gate_pipeline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Pipeline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/healthchecks/httpmonitor/zz_controller.go b/internal/controller/namespaced/healthchecks/httpmonitor/zz_controller.go index ea2475713..05df641bc 100755 --- a/internal/controller/namespaced/healthchecks/httpmonitor/zz_controller.go +++ b/internal/controller/namespaced/healthchecks/httpmonitor/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.HTTPMonitor_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.HTTPMonitor_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HTTPMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HTTPMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_health_checks_http_monitor"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_health_checks_http_monitor"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.HTTPMonitor_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/healthchecks/httpprobe/zz_controller.go b/internal/controller/namespaced/healthchecks/httpprobe/zz_controller.go index f262106d3..015b41a6c 100755 --- a/internal/controller/namespaced/healthchecks/httpprobe/zz_controller.go +++ b/internal/controller/namespaced/healthchecks/httpprobe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.HttpProbe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.HttpProbe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HttpProbe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HttpProbe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_health_checks_http_probe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_health_checks_http_probe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.HttpProbe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/healthchecks/pingmonitor/zz_controller.go b/internal/controller/namespaced/healthchecks/pingmonitor/zz_controller.go index bf611a790..a1aad5a09 100755 --- a/internal/controller/namespaced/healthchecks/pingmonitor/zz_controller.go +++ b/internal/controller/namespaced/healthchecks/pingmonitor/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PingMonitor_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PingMonitor_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PingMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PingMonitor_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_health_checks_ping_monitor"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_health_checks_ping_monitor"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PingMonitor_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/healthchecks/pingprobe/zz_controller.go b/internal/controller/namespaced/healthchecks/pingprobe/zz_controller.go index 77d0c2980..533a54e4e 100755 --- a/internal/controller/namespaced/healthchecks/pingprobe/zz_controller.go +++ b/internal/controller/namespaced/healthchecks/pingprobe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PingProbe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PingProbe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PingProbe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PingProbe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_health_checks_ping_probe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_health_checks_ping_probe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PingProbe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/apikey/zz_controller.go b/internal/controller/namespaced/identity/apikey/zz_controller.go index 992a52580..9327bdd55 100755 --- a/internal/controller/namespaced/identity/apikey/zz_controller.go +++ b/internal/controller/namespaced/identity/apikey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApiKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApiKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_api_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_api_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApiKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/authenticationpolicy/zz_controller.go b/internal/controller/namespaced/identity/authenticationpolicy/zz_controller.go index 6bd9f544c..349cde939 100755 --- a/internal/controller/namespaced/identity/authenticationpolicy/zz_controller.go +++ b/internal/controller/namespaced/identity/authenticationpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuthenticationPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuthenticationPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthenticationPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthenticationPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_authentication_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_authentication_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuthenticationPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/authtoken/zz_controller.go b/internal/controller/namespaced/identity/authtoken/zz_controller.go index 6d56701e5..c47bcd460 100755 --- a/internal/controller/namespaced/identity/authtoken/zz_controller.go +++ b/internal/controller/namespaced/identity/authtoken/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuthToken_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuthToken_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_auth_token"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_auth_token"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuthToken_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/compartment/zz_controller.go b/internal/controller/namespaced/identity/compartment/zz_controller.go index 7a44d5bdf..c7e4e8298 100755 --- a/internal/controller/namespaced/identity/compartment/zz_controller.go +++ b/internal/controller/namespaced/identity/compartment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Compartment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Compartment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Compartment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Compartment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_compartment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_compartment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Compartment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/customersecretkey/zz_controller.go b/internal/controller/namespaced/identity/customersecretkey/zz_controller.go index d91665eeb..78139fdf3 100755 --- a/internal/controller/namespaced/identity/customersecretkey/zz_controller.go +++ b/internal/controller/namespaced/identity/customersecretkey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CustomerSecretKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CustomerSecretKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomerSecretKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomerSecretKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_customer_secret_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_customer_secret_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CustomerSecretKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/dbcredential/zz_controller.go b/internal/controller/namespaced/identity/dbcredential/zz_controller.go index cec739373..415a7dcd4 100755 --- a/internal/controller/namespaced/identity/dbcredential/zz_controller.go +++ b/internal/controller/namespaced/identity/dbcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DbCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DbCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DbCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_db_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_db_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DbCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/domain/zz_controller.go b/internal/controller/namespaced/identity/domain/zz_controller.go index 225b463ac..862b14915 100755 --- a/internal/controller/namespaced/identity/domain/zz_controller.go +++ b/internal/controller/namespaced/identity/domain/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Domain_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Domain_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Domain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Domain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domain"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domain"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Domain_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/domainreplicationtoregion/zz_controller.go b/internal/controller/namespaced/identity/domainreplicationtoregion/zz_controller.go index ade08245c..2f37d53a6 100755 --- a/internal/controller/namespaced/identity/domainreplicationtoregion/zz_controller.go +++ b/internal/controller/namespaced/identity/domainreplicationtoregion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DomainReplicationToRegion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DomainReplicationToRegion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DomainReplicationToRegion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DomainReplicationToRegion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domain_replication_to_region"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domain_replication_to_region"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DomainReplicationToRegion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/dynamicgroup/zz_controller.go b/internal/controller/namespaced/identity/dynamicgroup/zz_controller.go index 226122024..1f0e5919d 100755 --- a/internal/controller/namespaced/identity/dynamicgroup/zz_controller.go +++ b/internal/controller/namespaced/identity/dynamicgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_dynamic_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_dynamic_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/group/zz_controller.go b/internal/controller/namespaced/identity/group/zz_controller.go index 2a04139d6..890af5ff6 100755 --- a/internal/controller/namespaced/identity/group/zz_controller.go +++ b/internal/controller/namespaced/identity/group/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Group_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Group_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Group_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Group_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Group_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/identityprovider/zz_controller.go b/internal/controller/namespaced/identity/identityprovider/zz_controller.go index 86545fbbc..2fdfcfb68 100755 --- a/internal/controller/namespaced/identity/identityprovider/zz_controller.go +++ b/internal/controller/namespaced/identity/identityprovider/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdentityProvider_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdentityProvider_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_identity_provider"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_identity_provider"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdentityProvider_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/idpgroupmapping/zz_controller.go b/internal/controller/namespaced/identity/idpgroupmapping/zz_controller.go index eba6aa3ea..6ef86ccfd 100755 --- a/internal/controller/namespaced/identity/idpgroupmapping/zz_controller.go +++ b/internal/controller/namespaced/identity/idpgroupmapping/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdpGroupMapping_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdpGroupMapping_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdpGroupMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdpGroupMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_idp_group_mapping"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_idp_group_mapping"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdpGroupMapping_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/importstandardtagsmanagement/zz_controller.go b/internal/controller/namespaced/identity/importstandardtagsmanagement/zz_controller.go index 38dd8f16f..b25526aca 100755 --- a/internal/controller/namespaced/identity/importstandardtagsmanagement/zz_controller.go +++ b/internal/controller/namespaced/identity/importstandardtagsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ImportStandardTagsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ImportStandardTagsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ImportStandardTagsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ImportStandardTagsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_import_standard_tags_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_import_standard_tags_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ImportStandardTagsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/networksource/zz_controller.go b/internal/controller/namespaced/identity/networksource/zz_controller.go index d49a44416..9e70307cf 100755 --- a/internal/controller/namespaced/identity/networksource/zz_controller.go +++ b/internal/controller/namespaced/identity/networksource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_network_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_network_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/policy/zz_controller.go b/internal/controller/namespaced/identity/policy/zz_controller.go index 9f30a9c53..7f6749930 100755 --- a/internal/controller/namespaced/identity/policy/zz_controller.go +++ b/internal/controller/namespaced/identity/policy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Policy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Policy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Policy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Policy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Policy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/smtpcredential/zz_controller.go b/internal/controller/namespaced/identity/smtpcredential/zz_controller.go index c6ac8ac09..e71e80864 100755 --- a/internal/controller/namespaced/identity/smtpcredential/zz_controller.go +++ b/internal/controller/namespaced/identity/smtpcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SmtpCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SmtpCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SmtpCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SmtpCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_smtp_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_smtp_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SmtpCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/tag/zz_controller.go b/internal/controller/namespaced/identity/tag/zz_controller.go index 2a3d5a05e..936841629 100755 --- a/internal/controller/namespaced/identity/tag/zz_controller.go +++ b/internal/controller/namespaced/identity/tag/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Tag_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Tag_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Tag_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Tag_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_tag"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_tag"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Tag_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/tagdefault/zz_controller.go b/internal/controller/namespaced/identity/tagdefault/zz_controller.go index 4ae82b121..fb79756af 100755 --- a/internal/controller/namespaced/identity/tagdefault/zz_controller.go +++ b/internal/controller/namespaced/identity/tagdefault/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TagDefault_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TagDefault_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TagDefault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TagDefault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_tag_default"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_tag_default"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TagDefault_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/tagnamespace/zz_controller.go b/internal/controller/namespaced/identity/tagnamespace/zz_controller.go index 5d6ce4814..6e5894bcd 100755 --- a/internal/controller/namespaced/identity/tagnamespace/zz_controller.go +++ b/internal/controller/namespaced/identity/tagnamespace/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TagNamespace_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TagNamespace_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TagNamespace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TagNamespace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_tag_namespace"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_tag_namespace"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TagNamespace_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/uipassword/zz_controller.go b/internal/controller/namespaced/identity/uipassword/zz_controller.go index a9f56c39d..4f7bc93a0 100755 --- a/internal/controller/namespaced/identity/uipassword/zz_controller.go +++ b/internal/controller/namespaced/identity/uipassword/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UiPassword_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UiPassword_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UiPassword_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UiPassword_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_ui_password"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_ui_password"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UiPassword_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/user/zz_controller.go b/internal/controller/namespaced/identity/user/zz_controller.go index 07ddf7be6..10f61b6fe 100755 --- a/internal/controller/namespaced/identity/user/zz_controller.go +++ b/internal/controller/namespaced/identity/user/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.User_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.User_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.User_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.User_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.User_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/usercapabilitiesmanagement/zz_controller.go b/internal/controller/namespaced/identity/usercapabilitiesmanagement/zz_controller.go index ae2b2df2e..9aaa37bc4 100755 --- a/internal/controller/namespaced/identity/usercapabilitiesmanagement/zz_controller.go +++ b/internal/controller/namespaced/identity/usercapabilitiesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UserCapabilitiesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UserCapabilitiesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserCapabilitiesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserCapabilitiesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_user_capabilities_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_user_capabilities_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UserCapabilitiesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identity/usergroupmembership/zz_controller.go b/internal/controller/namespaced/identity/usergroupmembership/zz_controller.go index beae93048..70f51b5aa 100755 --- a/internal/controller/namespaced/identity/usergroupmembership/zz_controller.go +++ b/internal/controller/namespaced/identity/usergroupmembership/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UserGroupMembership_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UserGroupMembership_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserGroupMembership_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserGroupMembership_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_user_group_membership"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_user_group_membership"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UserGroupMembership_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydataplane/generatescopedaccesstoken/zz_controller.go b/internal/controller/namespaced/identitydataplane/generatescopedaccesstoken/zz_controller.go index 9d80ac6ad..bd0d22534 100755 --- a/internal/controller/namespaced/identitydataplane/generatescopedaccesstoken/zz_controller.go +++ b/internal/controller/namespaced/identitydataplane/generatescopedaccesstoken/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.GenerateScopedAccessToken_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.GenerateScopedAccessToken_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GenerateScopedAccessToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GenerateScopedAccessToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_data_plane_generate_scoped_access_token"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_data_plane_generate_scoped_access_token"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.GenerateScopedAccessToken_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/accountrecoverysetting/zz_controller.go b/internal/controller/namespaced/identitydomains/accountrecoverysetting/zz_controller.go index d74cfba31..699d11dc1 100755 --- a/internal/controller/namespaced/identitydomains/accountrecoverysetting/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/accountrecoverysetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AccountRecoverySetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AccountRecoverySetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AccountRecoverySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AccountRecoverySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_account_recovery_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_account_recovery_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AccountRecoverySetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/apikey/zz_controller.go b/internal/controller/namespaced/identitydomains/apikey/zz_controller.go index 0651bed51..e90dd066b 100755 --- a/internal/controller/namespaced/identitydomains/apikey/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/apikey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApiKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApiKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_api_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_api_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApiKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/app/zz_controller.go b/internal/controller/namespaced/identitydomains/app/zz_controller.go index 727e26a39..114a3231d 100755 --- a/internal/controller/namespaced/identitydomains/app/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/app/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.App_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.App_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.App_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.App_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_app"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_app"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.App_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/approle/zz_controller.go b/internal/controller/namespaced/identitydomains/approle/zz_controller.go index 9e3b81035..9b8408812 100755 --- a/internal/controller/namespaced/identitydomains/approle/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/approle/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AppRole_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AppRole_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AppRole_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AppRole_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_app_role"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_app_role"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AppRole_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/approvalworkflow/zz_controller.go b/internal/controller/namespaced/identitydomains/approvalworkflow/zz_controller.go index 9b093fba1..51cac9da7 100755 --- a/internal/controller/namespaced/identitydomains/approvalworkflow/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/approvalworkflow/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApprovalWorkflow_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApprovalWorkflow_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApprovalWorkflow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApprovalWorkflow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_approval_workflow"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_approval_workflow"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApprovalWorkflow_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/approvalworkflowassignment/zz_controller.go b/internal/controller/namespaced/identitydomains/approvalworkflowassignment/zz_controller.go index f7ff5315b..29ec0cbf0 100755 --- a/internal/controller/namespaced/identitydomains/approvalworkflowassignment/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/approvalworkflowassignment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApprovalWorkflowAssignment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApprovalWorkflowAssignment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApprovalWorkflowAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApprovalWorkflowAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_approval_workflow_assignment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_approval_workflow_assignment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApprovalWorkflowAssignment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/approvalworkflowstep/zz_controller.go b/internal/controller/namespaced/identitydomains/approvalworkflowstep/zz_controller.go index 5ceaac88e..d0554a69a 100755 --- a/internal/controller/namespaced/identitydomains/approvalworkflowstep/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/approvalworkflowstep/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ApprovalWorkflowStep_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ApprovalWorkflowStep_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApprovalWorkflowStep_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ApprovalWorkflowStep_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_approval_workflow_step"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_approval_workflow_step"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ApprovalWorkflowStep_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/authenticationfactorsetting/zz_controller.go b/internal/controller/namespaced/identitydomains/authenticationfactorsetting/zz_controller.go index 3d4aa9d89..7bda04bf9 100755 --- a/internal/controller/namespaced/identitydomains/authenticationfactorsetting/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/authenticationfactorsetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuthenticationFactorSetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuthenticationFactorSetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthenticationFactorSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthenticationFactorSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_authentication_factor_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_authentication_factor_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuthenticationFactorSetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/authtoken/zz_controller.go b/internal/controller/namespaced/identitydomains/authtoken/zz_controller.go index cfb1eb31b..ec9aff4d4 100755 --- a/internal/controller/namespaced/identitydomains/authtoken/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/authtoken/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AuthToken_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AuthToken_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AuthToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_auth_token"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_auth_token"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AuthToken_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/cloudgate/zz_controller.go b/internal/controller/namespaced/identitydomains/cloudgate/zz_controller.go index 5f4bdcc3f..c332b0fbd 100755 --- a/internal/controller/namespaced/identitydomains/cloudgate/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/cloudgate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudGate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudGate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_cloud_gate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_cloud_gate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudGate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/cloudgatemapping/zz_controller.go b/internal/controller/namespaced/identitydomains/cloudgatemapping/zz_controller.go index d54ea6d36..8be16479e 100755 --- a/internal/controller/namespaced/identitydomains/cloudgatemapping/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/cloudgatemapping/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudGateMapping_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudGateMapping_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGateMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGateMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_cloud_gate_mapping"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_cloud_gate_mapping"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudGateMapping_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/cloudgateserver/zz_controller.go b/internal/controller/namespaced/identitydomains/cloudgateserver/zz_controller.go index 94423b530..7902156e5 100755 --- a/internal/controller/namespaced/identitydomains/cloudgateserver/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/cloudgateserver/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CloudGateServer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CloudGateServer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGateServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CloudGateServer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_cloud_gate_server"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_cloud_gate_server"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CloudGateServer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/condition/zz_controller.go b/internal/controller/namespaced/identitydomains/condition/zz_controller.go index eb0689d5b..1c1ca793f 100755 --- a/internal/controller/namespaced/identitydomains/condition/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/condition/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Condition_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Condition_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Condition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Condition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_condition"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_condition"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Condition_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/customersecretkey/zz_controller.go b/internal/controller/namespaced/identitydomains/customersecretkey/zz_controller.go index faef561cb..9ee5dccf5 100755 --- a/internal/controller/namespaced/identitydomains/customersecretkey/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/customersecretkey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CustomerSecretKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CustomerSecretKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomerSecretKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomerSecretKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_customer_secret_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_customer_secret_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CustomerSecretKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/dynamicresourcegroup/zz_controller.go b/internal/controller/namespaced/identitydomains/dynamicresourcegroup/zz_controller.go index d68d7a3be..8e482b424 100755 --- a/internal/controller/namespaced/identitydomains/dynamicresourcegroup/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/dynamicresourcegroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicResourceGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicResourceGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicResourceGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicResourceGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_dynamic_resource_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_dynamic_resource_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicResourceGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/grant/zz_controller.go b/internal/controller/namespaced/identitydomains/grant/zz_controller.go index 12f3d06b2..8dd1faf36 100755 --- a/internal/controller/namespaced/identitydomains/grant/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/grant/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Grant_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Grant_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Grant_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Grant_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_grant"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_grant"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Grant_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/group/zz_controller.go b/internal/controller/namespaced/identitydomains/group/zz_controller.go index 23a471be2..d1165c57e 100755 --- a/internal/controller/namespaced/identitydomains/group/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/group/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Group_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Group_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Group_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Group_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Group_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/identityproofingprovider/zz_controller.go b/internal/controller/namespaced/identitydomains/identityproofingprovider/zz_controller.go index 84b52a100..62ff9bce1 100755 --- a/internal/controller/namespaced/identitydomains/identityproofingprovider/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/identityproofingprovider/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdentityProofingProvider_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdentityProofingProvider_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProofingProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProofingProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_proofing_provider"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_proofing_provider"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdentityProofingProvider_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/identityproofingprovidertemplate/zz_controller.go b/internal/controller/namespaced/identitydomains/identityproofingprovidertemplate/zz_controller.go index 54f9f02d2..7ccea9371 100755 --- a/internal/controller/namespaced/identitydomains/identityproofingprovidertemplate/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/identityproofingprovidertemplate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdentityProofingProviderTemplate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdentityProofingProviderTemplate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProofingProviderTemplate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProofingProviderTemplate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_proofing_provider_template"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_proofing_provider_template"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdentityProofingProviderTemplate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/identitypropagationtrust/zz_controller.go b/internal/controller/namespaced/identitydomains/identitypropagationtrust/zz_controller.go index 16e444252..e4e1bd36f 100755 --- a/internal/controller/namespaced/identitydomains/identitypropagationtrust/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/identitypropagationtrust/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdentityPropagationTrust_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdentityPropagationTrust_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityPropagationTrust_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityPropagationTrust_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_propagation_trust"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_propagation_trust"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdentityPropagationTrust_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/identityprovider/zz_controller.go b/internal/controller/namespaced/identitydomains/identityprovider/zz_controller.go index f3c583e06..e70189293 100755 --- a/internal/controller/namespaced/identitydomains/identityprovider/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/identityprovider/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdentityProvider_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdentityProvider_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentityProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_provider"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_provider"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdentityProvider_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/identitysetting/zz_controller.go b/internal/controller/namespaced/identitydomains/identitysetting/zz_controller.go index 2ff812e29..da9e549c2 100755 --- a/internal/controller/namespaced/identitydomains/identitysetting/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/identitysetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IdentitySetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IdentitySetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentitySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IdentitySetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_identity_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IdentitySetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/kmsisetting/zz_controller.go b/internal/controller/namespaced/identitydomains/kmsisetting/zz_controller.go index f14e15589..a4f1178f2 100755 --- a/internal/controller/namespaced/identitydomains/kmsisetting/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/kmsisetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KmsiSetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KmsiSetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KmsiSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KmsiSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_kmsi_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_kmsi_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KmsiSetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/mappedattribute/zz_controller.go b/internal/controller/namespaced/identitydomains/mappedattribute/zz_controller.go index 0fe6a81cd..d51904bae 100755 --- a/internal/controller/namespaced/identitydomains/mappedattribute/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/mappedattribute/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MappedAttribute_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MappedAttribute_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MappedAttribute_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MappedAttribute_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_mapped_attribute"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_mapped_attribute"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MappedAttribute_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/myapikey/zz_controller.go b/internal/controller/namespaced/identitydomains/myapikey/zz_controller.go index 46eaa7531..861881ffe 100755 --- a/internal/controller/namespaced/identitydomains/myapikey/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/myapikey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MyApiKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MyApiKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyApiKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_api_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_api_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MyApiKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/myauthtoken/zz_controller.go b/internal/controller/namespaced/identitydomains/myauthtoken/zz_controller.go index cbe0ee1af..1f5d88ef7 100755 --- a/internal/controller/namespaced/identitydomains/myauthtoken/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/myauthtoken/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MyAuthToken_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MyAuthToken_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyAuthToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyAuthToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_auth_token"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_auth_token"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MyAuthToken_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/mycustomersecretkey/zz_controller.go b/internal/controller/namespaced/identitydomains/mycustomersecretkey/zz_controller.go index bd1fad2c9..dde0e2dd8 100755 --- a/internal/controller/namespaced/identitydomains/mycustomersecretkey/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/mycustomersecretkey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MyCustomerSecretKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MyCustomerSecretKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyCustomerSecretKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyCustomerSecretKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_customer_secret_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_customer_secret_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MyCustomerSecretKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/myoauth2clientcredential/zz_controller.go b/internal/controller/namespaced/identitydomains/myoauth2clientcredential/zz_controller.go index 749660be3..43532a3d1 100755 --- a/internal/controller/namespaced/identitydomains/myoauth2clientcredential/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/myoauth2clientcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MyOauth2clientCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MyOauth2clientCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyOauth2clientCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyOauth2clientCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_oauth2client_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_oauth2client_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MyOauth2clientCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/myrequest/zz_controller.go b/internal/controller/namespaced/identitydomains/myrequest/zz_controller.go index e69daebde..dedbec88c 100755 --- a/internal/controller/namespaced/identitydomains/myrequest/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/myrequest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MyRequest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MyRequest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyRequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_request"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_request"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MyRequest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/mysmtpcredential/zz_controller.go b/internal/controller/namespaced/identitydomains/mysmtpcredential/zz_controller.go index 12f910097..23178edc7 100755 --- a/internal/controller/namespaced/identitydomains/mysmtpcredential/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/mysmtpcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MySmtpCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MySmtpCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MySmtpCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MySmtpCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_smtp_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_smtp_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MySmtpCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/mysupportaccount/zz_controller.go b/internal/controller/namespaced/identitydomains/mysupportaccount/zz_controller.go index cac0ad361..999d22956 100755 --- a/internal/controller/namespaced/identitydomains/mysupportaccount/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/mysupportaccount/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MySupportAccount_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MySupportAccount_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MySupportAccount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MySupportAccount_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_support_account"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_support_account"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MySupportAccount_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/myuserdbcredential/zz_controller.go b/internal/controller/namespaced/identitydomains/myuserdbcredential/zz_controller.go index 287a75709..86b53ad50 100755 --- a/internal/controller/namespaced/identitydomains/myuserdbcredential/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/myuserdbcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MyUserDbCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MyUserDbCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyUserDbCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MyUserDbCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_user_db_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_my_user_db_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MyUserDbCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/networkperimeter/zz_controller.go b/internal/controller/namespaced/identitydomains/networkperimeter/zz_controller.go index 2a7af0ec0..ab15b3681 100755 --- a/internal/controller/namespaced/identitydomains/networkperimeter/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/networkperimeter/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkPerimeter_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkPerimeter_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkPerimeter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkPerimeter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_network_perimeter"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_network_perimeter"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkPerimeter_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/notificationsetting/zz_controller.go b/internal/controller/namespaced/identitydomains/notificationsetting/zz_controller.go index 754515439..d25d62a3b 100755 --- a/internal/controller/namespaced/identitydomains/notificationsetting/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/notificationsetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NotificationSetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NotificationSetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NotificationSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NotificationSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_notification_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_notification_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NotificationSetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/oauth2clientcredential/zz_controller.go b/internal/controller/namespaced/identitydomains/oauth2clientcredential/zz_controller.go index 5f85643c5..56b71d897 100755 --- a/internal/controller/namespaced/identitydomains/oauth2clientcredential/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/oauth2clientcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Oauth2clientCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Oauth2clientCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Oauth2clientCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Oauth2clientCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_oauth2client_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_oauth2client_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Oauth2clientCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/oauthclientcertificate/zz_controller.go b/internal/controller/namespaced/identitydomains/oauthclientcertificate/zz_controller.go index 562fd6554..47a68121a 100755 --- a/internal/controller/namespaced/identitydomains/oauthclientcertificate/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/oauthclientcertificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OauthClientCertificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OauthClientCertificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OauthClientCertificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OauthClientCertificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_oauth_client_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_oauth_client_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OauthClientCertificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/oauthpartnercertificate/zz_controller.go b/internal/controller/namespaced/identitydomains/oauthpartnercertificate/zz_controller.go index 007aa1fa0..040bbbf6f 100755 --- a/internal/controller/namespaced/identitydomains/oauthpartnercertificate/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/oauthpartnercertificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OauthPartnerCertificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OauthPartnerCertificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OauthPartnerCertificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OauthPartnerCertificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_oauth_partner_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_oauth_partner_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OauthPartnerCertificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/passwordpolicy/zz_controller.go b/internal/controller/namespaced/identitydomains/passwordpolicy/zz_controller.go index 9cbac31b7..bd97ca2fd 100755 --- a/internal/controller/namespaced/identitydomains/passwordpolicy/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/passwordpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PasswordPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PasswordPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PasswordPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PasswordPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_password_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_password_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PasswordPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/policy/zz_controller.go b/internal/controller/namespaced/identitydomains/policy/zz_controller.go index 9e5e659f8..5d36e7c81 100755 --- a/internal/controller/namespaced/identitydomains/policy/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/policy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Policy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Policy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Policy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Policy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Policy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/rule/zz_controller.go b/internal/controller/namespaced/identitydomains/rule/zz_controller.go index 441df22db..27f3d021d 100755 --- a/internal/controller/namespaced/identitydomains/rule/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/rule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Rule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Rule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Rule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Rule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Rule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/securityquestion/zz_controller.go b/internal/controller/namespaced/identitydomains/securityquestion/zz_controller.go index dcc57c315..0a0afc477 100755 --- a/internal/controller/namespaced/identitydomains/securityquestion/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/securityquestion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityQuestion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityQuestion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityQuestion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityQuestion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_security_question"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_security_question"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityQuestion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/securityquestionsetting/zz_controller.go b/internal/controller/namespaced/identitydomains/securityquestionsetting/zz_controller.go index 36db49863..4b68176c1 100755 --- a/internal/controller/namespaced/identitydomains/securityquestionsetting/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/securityquestionsetting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityQuestionSetting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityQuestionSetting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityQuestionSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityQuestionSetting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_security_question_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_security_question_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityQuestionSetting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/selfregistrationprofile/zz_controller.go b/internal/controller/namespaced/identitydomains/selfregistrationprofile/zz_controller.go index b3a9e27f1..9ebe7de05 100755 --- a/internal/controller/namespaced/identitydomains/selfregistrationprofile/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/selfregistrationprofile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SelfRegistrationProfile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SelfRegistrationProfile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SelfRegistrationProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SelfRegistrationProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_self_registration_profile"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_self_registration_profile"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SelfRegistrationProfile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/setting/zz_controller.go b/internal/controller/namespaced/identitydomains/setting/zz_controller.go index 025b9c4b1..2c7772a38 100755 --- a/internal/controller/namespaced/identitydomains/setting/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/setting/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Setting_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Setting_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Setting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Setting_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_setting"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_setting"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Setting_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/smtpcredential/zz_controller.go b/internal/controller/namespaced/identitydomains/smtpcredential/zz_controller.go index 724057d5a..0c6b4b510 100755 --- a/internal/controller/namespaced/identitydomains/smtpcredential/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/smtpcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SmtpCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SmtpCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SmtpCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SmtpCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_smtp_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_smtp_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SmtpCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/socialidentityprovider/zz_controller.go b/internal/controller/namespaced/identitydomains/socialidentityprovider/zz_controller.go index 6efeab846..5534b0edb 100755 --- a/internal/controller/namespaced/identitydomains/socialidentityprovider/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/socialidentityprovider/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SocialIdentityProvider_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SocialIdentityProvider_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SocialIdentityProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SocialIdentityProvider_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_social_identity_provider"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_social_identity_provider"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SocialIdentityProvider_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/user/zz_controller.go b/internal/controller/namespaced/identitydomains/user/zz_controller.go index ea2517587..bc04a40e3 100755 --- a/internal/controller/namespaced/identitydomains/user/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/user/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.User_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.User_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.User_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.User_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.User_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/identitydomains/userdbcredential/zz_controller.go b/internal/controller/namespaced/identitydomains/userdbcredential/zz_controller.go index a3fca60cc..a7c538c3b 100755 --- a/internal/controller/namespaced/identitydomains/userdbcredential/zz_controller.go +++ b/internal/controller/namespaced/identitydomains/userdbcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UserDbCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UserDbCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserDbCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UserDbCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_user_db_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_identity_domains_user_db_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UserDbCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/integration/integrationinstance/zz_controller.go b/internal/controller/namespaced/integration/integrationinstance/zz_controller.go index f3f8bdc9f..254dcb2a4 100755 --- a/internal/controller/namespaced/integration/integrationinstance/zz_controller.go +++ b/internal/controller/namespaced/integration/integrationinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IntegrationInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IntegrationInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IntegrationInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IntegrationInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_integration_integration_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_integration_integration_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IntegrationInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/integration/oraclemanagedcustomendpoint/zz_controller.go b/internal/controller/namespaced/integration/oraclemanagedcustomendpoint/zz_controller.go index 615c7597f..b896659ba 100755 --- a/internal/controller/namespaced/integration/oraclemanagedcustomendpoint/zz_controller.go +++ b/internal/controller/namespaced/integration/oraclemanagedcustomendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OracleManagedCustomEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OracleManagedCustomEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleManagedCustomEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OracleManagedCustomEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_integration_oracle_managed_custom_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_integration_oracle_managed_custom_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OracleManagedCustomEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/integration/privateendpointoutboundconnection/zz_controller.go b/internal/controller/namespaced/integration/privateendpointoutboundconnection/zz_controller.go index 3f3fb7f28..09d5cc66e 100755 --- a/internal/controller/namespaced/integration/privateendpointoutboundconnection/zz_controller.go +++ b/internal/controller/namespaced/integration/privateendpointoutboundconnection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateEndpointOutboundConnection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateEndpointOutboundConnection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpointOutboundConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpointOutboundConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_integration_private_endpoint_outbound_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_integration_private_endpoint_outbound_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateEndpointOutboundConnection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/iot/digitaltwinadapter/zz_controller.go b/internal/controller/namespaced/iot/digitaltwinadapter/zz_controller.go index b791289d6..7d2ccbf74 100755 --- a/internal/controller/namespaced/iot/digitaltwinadapter/zz_controller.go +++ b/internal/controller/namespaced/iot/digitaltwinadapter/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DigitalTwinAdapter_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DigitalTwinAdapter_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinAdapter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinAdapter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_adapter"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_adapter"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DigitalTwinAdapter_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/iot/digitaltwininstance/zz_controller.go b/internal/controller/namespaced/iot/digitaltwininstance/zz_controller.go index 30fc04cf6..434c9b252 100755 --- a/internal/controller/namespaced/iot/digitaltwininstance/zz_controller.go +++ b/internal/controller/namespaced/iot/digitaltwininstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DigitalTwinInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DigitalTwinInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DigitalTwinInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/iot/digitaltwininstanceinvokerawcommand/zz_controller.go b/internal/controller/namespaced/iot/digitaltwininstanceinvokerawcommand/zz_controller.go index 49b6dc5f9..ac0034249 100755 --- a/internal/controller/namespaced/iot/digitaltwininstanceinvokerawcommand/zz_controller.go +++ b/internal/controller/namespaced/iot/digitaltwininstanceinvokerawcommand/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DigitalTwinInstanceInvokeRawCommand_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DigitalTwinInstanceInvokeRawCommand_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinInstanceInvokeRawCommand_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinInstanceInvokeRawCommand_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_instance_invoke_raw_command"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_instance_invoke_raw_command"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DigitalTwinInstanceInvokeRawCommand_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/iot/digitaltwinmodel/zz_controller.go b/internal/controller/namespaced/iot/digitaltwinmodel/zz_controller.go index cf8214575..68ea590f0 100755 --- a/internal/controller/namespaced/iot/digitaltwinmodel/zz_controller.go +++ b/internal/controller/namespaced/iot/digitaltwinmodel/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DigitalTwinModel_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DigitalTwinModel_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinModel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinModel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_model"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_model"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DigitalTwinModel_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/iot/digitaltwinrelationship/zz_controller.go b/internal/controller/namespaced/iot/digitaltwinrelationship/zz_controller.go index e39a45a0d..3cfc1df8f 100755 --- a/internal/controller/namespaced/iot/digitaltwinrelationship/zz_controller.go +++ b/internal/controller/namespaced/iot/digitaltwinrelationship/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DigitalTwinRelationship_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DigitalTwinRelationship_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinRelationship_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DigitalTwinRelationship_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_relationship"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_digital_twin_relationship"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DigitalTwinRelationship_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/iot/iotdomain/zz_controller.go b/internal/controller/namespaced/iot/iotdomain/zz_controller.go index 3b157b1e9..a75de2127 100755 --- a/internal/controller/namespaced/iot/iotdomain/zz_controller.go +++ b/internal/controller/namespaced/iot/iotdomain/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IotDomain_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IotDomain_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomain_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IotDomain_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/iot/iotdomainchangedataretentionperiod/zz_controller.go b/internal/controller/namespaced/iot/iotdomainchangedataretentionperiod/zz_controller.go index ee8a82401..f2693ace7 100755 --- a/internal/controller/namespaced/iot/iotdomainchangedataretentionperiod/zz_controller.go +++ b/internal/controller/namespaced/iot/iotdomainchangedataretentionperiod/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IotDomainChangeDataRetentionPeriod_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IotDomainChangeDataRetentionPeriod_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainChangeDataRetentionPeriod_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainChangeDataRetentionPeriod_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_change_data_retention_period"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_change_data_retention_period"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IotDomainChangeDataRetentionPeriod_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/iot/iotdomainconfiguredataaccess/zz_controller.go b/internal/controller/namespaced/iot/iotdomainconfiguredataaccess/zz_controller.go index 489068caf..5131b4199 100755 --- a/internal/controller/namespaced/iot/iotdomainconfiguredataaccess/zz_controller.go +++ b/internal/controller/namespaced/iot/iotdomainconfiguredataaccess/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IotDomainConfigureDataAccess_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IotDomainConfigureDataAccess_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainConfigureDataAccess_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainConfigureDataAccess_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_configure_data_access"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_configure_data_access"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IotDomainConfigureDataAccess_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/iot/iotdomaingroup/zz_controller.go b/internal/controller/namespaced/iot/iotdomaingroup/zz_controller.go index b79eb3bac..2a7778e73 100755 --- a/internal/controller/namespaced/iot/iotdomaingroup/zz_controller.go +++ b/internal/controller/namespaced/iot/iotdomaingroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IotDomainGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IotDomainGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IotDomainGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/iot/iotdomaingroupconfiguredataaccess/zz_controller.go b/internal/controller/namespaced/iot/iotdomaingroupconfiguredataaccess/zz_controller.go index a66a624e8..ad4fd51c1 100755 --- a/internal/controller/namespaced/iot/iotdomaingroupconfiguredataaccess/zz_controller.go +++ b/internal/controller/namespaced/iot/iotdomaingroupconfiguredataaccess/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IotDomainGroupConfigureDataAccess_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IotDomainGroupConfigureDataAccess_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainGroupConfigureDataAccess_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IotDomainGroupConfigureDataAccess_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_group_configure_data_access"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_iot_iot_domain_group_configure_data_access"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IotDomainGroupConfigureDataAccess_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/jms/fleet/zz_controller.go b/internal/controller/namespaced/jms/fleet/zz_controller.go index a31d096da..16ccccbfe 100755 --- a/internal/controller/namespaced/jms/fleet/zz_controller.go +++ b/internal/controller/namespaced/jms/fleet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Fleet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Fleet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Fleet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Fleet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_fleet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_fleet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Fleet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/jms/fleetadvancedfeatureconfiguration/zz_controller.go b/internal/controller/namespaced/jms/fleetadvancedfeatureconfiguration/zz_controller.go index 1e5ae28b1..dcfbc8c62 100755 --- a/internal/controller/namespaced/jms/fleetadvancedfeatureconfiguration/zz_controller.go +++ b/internal/controller/namespaced/jms/fleetadvancedfeatureconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FleetAdvancedFeatureConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FleetAdvancedFeatureConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetAdvancedFeatureConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetAdvancedFeatureConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_fleet_advanced_feature_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_fleet_advanced_feature_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FleetAdvancedFeatureConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/jms/fleetagentconfiguration/zz_controller.go b/internal/controller/namespaced/jms/fleetagentconfiguration/zz_controller.go index 78ed4307b..bfb70e9e4 100755 --- a/internal/controller/namespaced/jms/fleetagentconfiguration/zz_controller.go +++ b/internal/controller/namespaced/jms/fleetagentconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.FleetAgentConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.FleetAgentConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetAgentConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.FleetAgentConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_fleet_agent_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_fleet_agent_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.FleetAgentConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/jms/jmsplugin/zz_controller.go b/internal/controller/namespaced/jms/jmsplugin/zz_controller.go index ec2ebb604..566e49fe1 100755 --- a/internal/controller/namespaced/jms/jmsplugin/zz_controller.go +++ b/internal/controller/namespaced/jms/jmsplugin/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.JmsPlugin_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.JmsPlugin_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JmsPlugin_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JmsPlugin_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_jms_plugin"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_jms_plugin"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.JmsPlugin_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/jms/taskschedule/zz_controller.go b/internal/controller/namespaced/jms/taskschedule/zz_controller.go index 81e18c07a..5807c7c84 100755 --- a/internal/controller/namespaced/jms/taskschedule/zz_controller.go +++ b/internal/controller/namespaced/jms/taskschedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TaskSchedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TaskSchedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TaskSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TaskSchedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_task_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_task_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TaskSchedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/jmsjavadownloads/javadownloadreport/zz_controller.go b/internal/controller/namespaced/jmsjavadownloads/javadownloadreport/zz_controller.go index 4f05c9b1f..911fa1798 100755 --- a/internal/controller/namespaced/jmsjavadownloads/javadownloadreport/zz_controller.go +++ b/internal/controller/namespaced/jmsjavadownloads/javadownloadreport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.JavaDownloadReport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.JavaDownloadReport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JavaDownloadReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JavaDownloadReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_java_downloads_java_download_report"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_java_downloads_java_download_report"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.JavaDownloadReport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/jmsjavadownloads/javadownloadtoken/zz_controller.go b/internal/controller/namespaced/jmsjavadownloads/javadownloadtoken/zz_controller.go index 764808984..177469287 100755 --- a/internal/controller/namespaced/jmsjavadownloads/javadownloadtoken/zz_controller.go +++ b/internal/controller/namespaced/jmsjavadownloads/javadownloadtoken/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.JavaDownloadToken_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.JavaDownloadToken_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JavaDownloadToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JavaDownloadToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_java_downloads_java_download_token"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_java_downloads_java_download_token"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.JavaDownloadToken_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/jmsjavadownloads/javalicenseacceptancerecord/zz_controller.go b/internal/controller/namespaced/jmsjavadownloads/javalicenseacceptancerecord/zz_controller.go index eb06f2d60..ef81269a1 100755 --- a/internal/controller/namespaced/jmsjavadownloads/javalicenseacceptancerecord/zz_controller.go +++ b/internal/controller/namespaced/jmsjavadownloads/javalicenseacceptancerecord/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.JavaLicenseAcceptanceRecord_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.JavaLicenseAcceptanceRecord_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JavaLicenseAcceptanceRecord_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.JavaLicenseAcceptanceRecord_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_java_downloads_java_license_acceptance_record"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_java_downloads_java_license_acceptance_record"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.JavaLicenseAcceptanceRecord_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/jmsutils/analyzeapplicationsconfiguration/zz_controller.go b/internal/controller/namespaced/jmsutils/analyzeapplicationsconfiguration/zz_controller.go index 240fb604f..c6b331702 100755 --- a/internal/controller/namespaced/jmsutils/analyzeapplicationsconfiguration/zz_controller.go +++ b/internal/controller/namespaced/jmsutils/analyzeapplicationsconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AnalyzeApplicationsConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AnalyzeApplicationsConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyzeApplicationsConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AnalyzeApplicationsConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_utils_analyze_applications_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_utils_analyze_applications_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AnalyzeApplicationsConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/jmsutils/subscriptionacknowledgmentconfiguration/zz_controller.go b/internal/controller/namespaced/jmsutils/subscriptionacknowledgmentconfiguration/zz_controller.go index 57805ac8f..da6ab41be 100755 --- a/internal/controller/namespaced/jmsutils/subscriptionacknowledgmentconfiguration/zz_controller.go +++ b/internal/controller/namespaced/jmsutils/subscriptionacknowledgmentconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SubscriptionAcknowledgmentConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SubscriptionAcknowledgmentConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SubscriptionAcknowledgmentConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SubscriptionAcknowledgmentConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_jms_utils_subscription_acknowledgment_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_jms_utils_subscription_acknowledgment_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SubscriptionAcknowledgmentConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/kms/ekmsprivateendpoint/zz_controller.go b/internal/controller/namespaced/kms/ekmsprivateendpoint/zz_controller.go index 3131a2b81..aaa9bac8b 100755 --- a/internal/controller/namespaced/kms/ekmsprivateendpoint/zz_controller.go +++ b/internal/controller/namespaced/kms/ekmsprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EkmsPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EkmsPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EkmsPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EkmsPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_ekms_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_ekms_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EkmsPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/kms/encrypteddata/zz_controller.go b/internal/controller/namespaced/kms/encrypteddata/zz_controller.go index 62100e12f..3b18c438a 100755 --- a/internal/controller/namespaced/kms/encrypteddata/zz_controller.go +++ b/internal/controller/namespaced/kms/encrypteddata/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EncryptedData_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EncryptedData_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EncryptedData_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EncryptedData_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_encrypted_data"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_encrypted_data"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EncryptedData_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/kms/generatedkey/zz_controller.go b/internal/controller/namespaced/kms/generatedkey/zz_controller.go index 3da8e4109..9a9bec0bd 100755 --- a/internal/controller/namespaced/kms/generatedkey/zz_controller.go +++ b/internal/controller/namespaced/kms/generatedkey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.GeneratedKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.GeneratedKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GeneratedKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.GeneratedKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_generated_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_generated_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.GeneratedKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/kms/key/zz_controller.go b/internal/controller/namespaced/kms/key/zz_controller.go index e51794487..37daf7f3f 100755 --- a/internal/controller/namespaced/kms/key/zz_controller.go +++ b/internal/controller/namespaced/kms/key/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Key_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Key_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Key_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Key_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Key_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/kms/keyversion/zz_controller.go b/internal/controller/namespaced/kms/keyversion/zz_controller.go index d907f16ba..10ae7fd47 100755 --- a/internal/controller/namespaced/kms/keyversion/zz_controller.go +++ b/internal/controller/namespaced/kms/keyversion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KeyVersion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KeyVersion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KeyVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KeyVersion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_key_version"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_key_version"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KeyVersion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/kms/sign/zz_controller.go b/internal/controller/namespaced/kms/sign/zz_controller.go index 6d5e47ebb..07c78645f 100755 --- a/internal/controller/namespaced/kms/sign/zz_controller.go +++ b/internal/controller/namespaced/kms/sign/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Sign_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Sign_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Sign_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Sign_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_sign"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_sign"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Sign_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/kms/vault/zz_controller.go b/internal/controller/namespaced/kms/vault/zz_controller.go index af6913cc4..a704c2f00 100755 --- a/internal/controller/namespaced/kms/vault/zz_controller.go +++ b/internal/controller/namespaced/kms/vault/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Vault_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Vault_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vault_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_vault"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_vault"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Vault_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/kms/vaultreplication/zz_controller.go b/internal/controller/namespaced/kms/vaultreplication/zz_controller.go index 8e0ca2f20..068057cab 100755 --- a/internal/controller/namespaced/kms/vaultreplication/zz_controller.go +++ b/internal/controller/namespaced/kms/vaultreplication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VaultReplication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VaultReplication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VaultReplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VaultReplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_vault_replication"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_vault_replication"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VaultReplication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/kms/verify/zz_controller.go b/internal/controller/namespaced/kms/verify/zz_controller.go index d90bcbd32..01d980538 100755 --- a/internal/controller/namespaced/kms/verify/zz_controller.go +++ b/internal/controller/namespaced/kms/verify/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Verify_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Verify_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Verify_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Verify_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_kms_verify"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_kms_verify"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Verify_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/licensemanager/configuration/zz_controller.go b/internal/controller/namespaced/licensemanager/configuration/zz_controller.go index cc9b32bbf..4b5e48897 100755 --- a/internal/controller/namespaced/licensemanager/configuration/zz_controller.go +++ b/internal/controller/namespaced/licensemanager/configuration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Configuration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Configuration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_license_manager_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_license_manager_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Configuration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/licensemanager/licenserecord/zz_controller.go b/internal/controller/namespaced/licensemanager/licenserecord/zz_controller.go index 4279756ca..e50c15ce1 100755 --- a/internal/controller/namespaced/licensemanager/licenserecord/zz_controller.go +++ b/internal/controller/namespaced/licensemanager/licenserecord/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LicenseRecord_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LicenseRecord_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LicenseRecord_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LicenseRecord_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_license_manager_license_record"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_license_manager_license_record"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LicenseRecord_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/licensemanager/productlicense/zz_controller.go b/internal/controller/namespaced/licensemanager/productlicense/zz_controller.go index 97135e457..2a7b61fd4 100755 --- a/internal/controller/namespaced/licensemanager/productlicense/zz_controller.go +++ b/internal/controller/namespaced/licensemanager/productlicense/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProductLicense_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProductLicense_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProductLicense_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProductLicense_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_license_manager_product_license"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_license_manager_product_license"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProductLicense_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/limits/quota/zz_controller.go b/internal/controller/namespaced/limits/quota/zz_controller.go index 77f3317f9..2763777be 100755 --- a/internal/controller/namespaced/limits/quota/zz_controller.go +++ b/internal/controller/namespaced/limits/quota/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Quota_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Quota_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Quota_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Quota_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_limits_quota"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_limits_quota"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Quota_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loadbalancer/backend/zz_controller.go b/internal/controller/namespaced/loadbalancer/backend/zz_controller.go index 6a0da4d55..a4d79bc0a 100755 --- a/internal/controller/namespaced/loadbalancer/backend/zz_controller.go +++ b/internal/controller/namespaced/loadbalancer/backend/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Backend_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Backend_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Backend_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Backend_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_backend"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_backend"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Backend_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loadbalancer/backendset/zz_controller.go b/internal/controller/namespaced/loadbalancer/backendset/zz_controller.go index ef77df85c..8298684a5 100755 --- a/internal/controller/namespaced/loadbalancer/backendset/zz_controller.go +++ b/internal/controller/namespaced/loadbalancer/backendset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BackendSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BackendSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackendSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackendSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_backend_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_backend_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BackendSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loadbalancer/certificate/zz_controller.go b/internal/controller/namespaced/loadbalancer/certificate/zz_controller.go index be7e77440..907c204c5 100755 --- a/internal/controller/namespaced/loadbalancer/certificate/zz_controller.go +++ b/internal/controller/namespaced/loadbalancer/certificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Certificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Certificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Certificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loadbalancer/lbhostname/zz_controller.go b/internal/controller/namespaced/loadbalancer/lbhostname/zz_controller.go index 28bca172d..ce884a632 100755 --- a/internal/controller/namespaced/loadbalancer/lbhostname/zz_controller.go +++ b/internal/controller/namespaced/loadbalancer/lbhostname/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LBHostname_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LBHostname_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LBHostname_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LBHostname_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_hostname"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_hostname"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LBHostname_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loadbalancer/listener/zz_controller.go b/internal/controller/namespaced/loadbalancer/listener/zz_controller.go index b6cf3f9d5..112bd2aa8 100755 --- a/internal/controller/namespaced/loadbalancer/listener/zz_controller.go +++ b/internal/controller/namespaced/loadbalancer/listener/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Listener_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Listener_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Listener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Listener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_listener"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_listener"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Listener_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loadbalancer/loadbalancer/zz_controller.go b/internal/controller/namespaced/loadbalancer/loadbalancer/zz_controller.go index f927930f5..fde6311ec 100755 --- a/internal/controller/namespaced/loadbalancer/loadbalancer/zz_controller.go +++ b/internal/controller/namespaced/loadbalancer/loadbalancer/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LoadBalancer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LoadBalancer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LoadBalancer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LoadBalancer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_load_balancer"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_load_balancer"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LoadBalancer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loadbalancer/pathrouteset/zz_controller.go b/internal/controller/namespaced/loadbalancer/pathrouteset/zz_controller.go index 7a194bcbe..ca215a2ec 100755 --- a/internal/controller/namespaced/loadbalancer/pathrouteset/zz_controller.go +++ b/internal/controller/namespaced/loadbalancer/pathrouteset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PathRouteSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PathRouteSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PathRouteSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PathRouteSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_path_route_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_path_route_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PathRouteSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loadbalancer/routingpolicy/zz_controller.go b/internal/controller/namespaced/loadbalancer/routingpolicy/zz_controller.go index cc13082e5..a999cd8f0 100755 --- a/internal/controller/namespaced/loadbalancer/routingpolicy/zz_controller.go +++ b/internal/controller/namespaced/loadbalancer/routingpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RoutingPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RoutingPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RoutingPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RoutingPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_load_balancer_routing_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_load_balancer_routing_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RoutingPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loadbalancer/ruleset/zz_controller.go b/internal/controller/namespaced/loadbalancer/ruleset/zz_controller.go index 6e0f0f46a..0b5a85c66 100755 --- a/internal/controller/namespaced/loadbalancer/ruleset/zz_controller.go +++ b/internal/controller/namespaced/loadbalancer/ruleset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RuleSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RuleSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RuleSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RuleSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_rule_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_rule_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RuleSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loadbalancer/sslciphersuite/zz_controller.go b/internal/controller/namespaced/loadbalancer/sslciphersuite/zz_controller.go index eb2cdd2af..efc943169 100755 --- a/internal/controller/namespaced/loadbalancer/sslciphersuite/zz_controller.go +++ b/internal/controller/namespaced/loadbalancer/sslciphersuite/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SSLCipherSuite_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SSLCipherSuite_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SSLCipherSuite_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SSLCipherSuite_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_ssl_cipher_suite"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_load_balancer_ssl_cipher_suite"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SSLCipherSuite_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/loganalyticsentity/zz_controller.go b/internal/controller/namespaced/loganalytics/loganalyticsentity/zz_controller.go index 11a7683a3..0b1dba9f9 100755 --- a/internal/controller/namespaced/loganalytics/loganalyticsentity/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/loganalyticsentity/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsEntity_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsEntity_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsEntity_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/loganalyticsentityassociationsadd/zz_controller.go b/internal/controller/namespaced/loganalytics/loganalyticsentityassociationsadd/zz_controller.go index d8ae5a789..cd6e7beca 100755 --- a/internal/controller/namespaced/loganalytics/loganalyticsentityassociationsadd/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/loganalyticsentityassociationsadd/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsEntityAssociationsAdd_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsEntityAssociationsAdd_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntityAssociationsAdd_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntityAssociationsAdd_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity_associations_add"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity_associations_add"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsEntityAssociationsAdd_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/loganalyticsentityassociationsremove/zz_controller.go b/internal/controller/namespaced/loganalytics/loganalyticsentityassociationsremove/zz_controller.go index 8c6a27525..cc414df45 100755 --- a/internal/controller/namespaced/loganalytics/loganalyticsentityassociationsremove/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/loganalyticsentityassociationsremove/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsEntityAssociationsRemove_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsEntityAssociationsRemove_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntityAssociationsRemove_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntityAssociationsRemove_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity_associations_remove"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity_associations_remove"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsEntityAssociationsRemove_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/loganalyticsentitytype/zz_controller.go b/internal/controller/namespaced/loganalytics/loganalyticsentitytype/zz_controller.go index e4d72224b..fb7fc85e7 100755 --- a/internal/controller/namespaced/loganalytics/loganalyticsentitytype/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/loganalyticsentitytype/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsEntityType_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsEntityType_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntityType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsEntityType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity_type"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_entity_type"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsEntityType_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/loganalyticsimportcustomcontent/zz_controller.go b/internal/controller/namespaced/loganalytics/loganalyticsimportcustomcontent/zz_controller.go index ed4ab52ac..0f0823f75 100755 --- a/internal/controller/namespaced/loganalytics/loganalyticsimportcustomcontent/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/loganalyticsimportcustomcontent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsImportCustomContent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsImportCustomContent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsImportCustomContent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsImportCustomContent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_import_custom_content"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_import_custom_content"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsImportCustomContent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/loganalyticsloggroup/zz_controller.go b/internal/controller/namespaced/loganalytics/loganalyticsloggroup/zz_controller.go index 713dd4fc4..5b47a25b5 100755 --- a/internal/controller/namespaced/loganalytics/loganalyticsloggroup/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/loganalyticsloggroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsLogGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsLogGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsLogGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsLogGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_log_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_log_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsLogGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/loganalyticsobjectcollectionrule/zz_controller.go b/internal/controller/namespaced/loganalytics/loganalyticsobjectcollectionrule/zz_controller.go index ad48d6ae8..c1530fb1d 100755 --- a/internal/controller/namespaced/loganalytics/loganalyticsobjectcollectionrule/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/loganalyticsobjectcollectionrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsObjectCollectionRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsObjectCollectionRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsObjectCollectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsObjectCollectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_object_collection_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_object_collection_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsObjectCollectionRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/loganalyticspreferencesmanagement/zz_controller.go b/internal/controller/namespaced/loganalytics/loganalyticspreferencesmanagement/zz_controller.go index 08cd92ef9..3f00e30da 100755 --- a/internal/controller/namespaced/loganalytics/loganalyticspreferencesmanagement/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/loganalyticspreferencesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsPreferencesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsPreferencesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsPreferencesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsPreferencesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_preferences_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_preferences_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsPreferencesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/loganalyticsresourcecategoriesmanagement/zz_controller.go b/internal/controller/namespaced/loganalytics/loganalyticsresourcecategoriesmanagement/zz_controller.go index bd158be7d..f2a598bdb 100755 --- a/internal/controller/namespaced/loganalytics/loganalyticsresourcecategoriesmanagement/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/loganalyticsresourcecategoriesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsResourceCategoriesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsResourceCategoriesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsResourceCategoriesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsResourceCategoriesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_resource_categories_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_resource_categories_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsResourceCategoriesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/loganalyticsunprocesseddatabucketmanagement/zz_controller.go b/internal/controller/namespaced/loganalytics/loganalyticsunprocesseddatabucketmanagement/zz_controller.go index 8db484a0b..51195fe10 100755 --- a/internal/controller/namespaced/loganalytics/loganalyticsunprocesseddatabucketmanagement/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/loganalyticsunprocesseddatabucketmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogAnalyticsUnprocessedDataBucketManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogAnalyticsUnprocessedDataBucketManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsUnprocessedDataBucketManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogAnalyticsUnprocessedDataBucketManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_unprocessed_data_bucket_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_log_analytics_unprocessed_data_bucket_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogAnalyticsUnprocessedDataBucketManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/namespace/zz_controller.go b/internal/controller/namespaced/loganalytics/namespace/zz_controller.go index fa2362b5a..4927c54eb 100755 --- a/internal/controller/namespaced/loganalytics/namespace/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/namespace/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Namespace_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Namespace_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Namespace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Namespace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Namespace_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/namespaceassociation/zz_controller.go b/internal/controller/namespaced/loganalytics/namespaceassociation/zz_controller.go index 8983b114a..cb790867e 100755 --- a/internal/controller/namespaced/loganalytics/namespaceassociation/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/namespaceassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/namespaceingesttimerule/zz_controller.go b/internal/controller/namespaced/loganalytics/namespaceingesttimerule/zz_controller.go index f157c74fe..3a1b48797 100755 --- a/internal/controller/namespaced/loganalytics/namespaceingesttimerule/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/namespaceingesttimerule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceIngestTimeRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceIngestTimeRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceIngestTimeRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceIngestTimeRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_ingest_time_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_ingest_time_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceIngestTimeRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/namespaceingesttimerulesmanagement/zz_controller.go b/internal/controller/namespaced/loganalytics/namespaceingesttimerulesmanagement/zz_controller.go index 860826bca..8e043ea99 100755 --- a/internal/controller/namespaced/loganalytics/namespaceingesttimerulesmanagement/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/namespaceingesttimerulesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceIngestTimeRulesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceIngestTimeRulesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceIngestTimeRulesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceIngestTimeRulesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_ingest_time_rules_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_ingest_time_rules_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceIngestTimeRulesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/namespacelookup/zz_controller.go b/internal/controller/namespaced/loganalytics/namespacelookup/zz_controller.go index dfb87cb42..817d5b1ef 100755 --- a/internal/controller/namespaced/loganalytics/namespacelookup/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/namespacelookup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceLookup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceLookup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceLookup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceLookup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_lookup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_lookup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceLookup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/namespacelookupsappenddatamanagement/zz_controller.go b/internal/controller/namespaced/loganalytics/namespacelookupsappenddatamanagement/zz_controller.go index 7eef02cd5..8a9675bc2 100755 --- a/internal/controller/namespaced/loganalytics/namespacelookupsappenddatamanagement/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/namespacelookupsappenddatamanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceLookupsAppendDataManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceLookupsAppendDataManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceLookupsAppendDataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceLookupsAppendDataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_lookups_append_data_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_lookups_append_data_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceLookupsAppendDataManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/namespacelookupsupdatedatamanagement/zz_controller.go b/internal/controller/namespaced/loganalytics/namespacelookupsupdatedatamanagement/zz_controller.go index 36d774253..20a16e8dc 100755 --- a/internal/controller/namespaced/loganalytics/namespacelookupsupdatedatamanagement/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/namespacelookupsupdatedatamanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceLookupsUpdateDataManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceLookupsUpdateDataManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceLookupsUpdateDataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceLookupsUpdateDataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_lookups_update_data_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_lookups_update_data_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceLookupsUpdateDataManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/namespacescheduledtask/zz_controller.go b/internal/controller/namespaced/loganalytics/namespacescheduledtask/zz_controller.go index cf84e621e..f6927bffa 100755 --- a/internal/controller/namespaced/loganalytics/namespacescheduledtask/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/namespacescheduledtask/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceScheduledTask_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceScheduledTask_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceScheduledTask_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceScheduledTask_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_scheduled_task"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_scheduled_task"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceScheduledTask_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/namespacestoragearchivalconfig/zz_controller.go b/internal/controller/namespaced/loganalytics/namespacestoragearchivalconfig/zz_controller.go index 55798395d..24f9de53c 100755 --- a/internal/controller/namespaced/loganalytics/namespacestoragearchivalconfig/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/namespacestoragearchivalconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceStorageArchivalConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceStorageArchivalConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceStorageArchivalConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceStorageArchivalConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_storage_archival_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_storage_archival_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceStorageArchivalConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/loganalytics/namespacestorageenabledisablearchiving/zz_controller.go b/internal/controller/namespaced/loganalytics/namespacestorageenabledisablearchiving/zz_controller.go index 9d1854125..8876c4c1c 100755 --- a/internal/controller/namespaced/loganalytics/namespacestorageenabledisablearchiving/zz_controller.go +++ b/internal/controller/namespaced/loganalytics/namespacestorageenabledisablearchiving/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamespaceStorageEnableDisableArchiving_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamespaceStorageEnableDisableArchiving_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceStorageEnableDisableArchiving_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamespaceStorageEnableDisableArchiving_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_storage_enable_disable_archiving"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_log_analytics_namespace_storage_enable_disable_archiving"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamespaceStorageEnableDisableArchiving_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/logging/log/zz_controller.go b/internal/controller/namespaced/logging/log/zz_controller.go index 7ba4f51ae..c8c5c42fe 100755 --- a/internal/controller/namespaced/logging/log/zz_controller.go +++ b/internal/controller/namespaced/logging/log/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Log_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Log_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Log_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Log_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_logging_log"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_logging_log"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Log_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/logging/loggroup/zz_controller.go b/internal/controller/namespaced/logging/loggroup/zz_controller.go index c04f7ed41..0f8ee03b2 100755 --- a/internal/controller/namespaced/logging/loggroup/zz_controller.go +++ b/internal/controller/namespaced/logging/loggroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_logging_log_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_logging_log_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/logging/logsavedsearch/zz_controller.go b/internal/controller/namespaced/logging/logsavedsearch/zz_controller.go index 97f850f9c..7d38a2327 100755 --- a/internal/controller/namespaced/logging/logsavedsearch/zz_controller.go +++ b/internal/controller/namespaced/logging/logsavedsearch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LogSavedSearch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LogSavedSearch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogSavedSearch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LogSavedSearch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_logging_log_saved_search"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_logging_log_saved_search"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LogSavedSearch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/logging/unifiedagentconfiguration/zz_controller.go b/internal/controller/namespaced/logging/unifiedagentconfiguration/zz_controller.go index 27e569c42..09bd66586 100755 --- a/internal/controller/namespaced/logging/unifiedagentconfiguration/zz_controller.go +++ b/internal/controller/namespaced/logging/unifiedagentconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UnifiedAgentConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UnifiedAgentConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnifiedAgentConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UnifiedAgentConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_logging_unified_agent_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_logging_unified_agent_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UnifiedAgentConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/lustrefilestorage/lustrefilesystem/zz_controller.go b/internal/controller/namespaced/lustrefilestorage/lustrefilesystem/zz_controller.go index 14e12d593..f8401bf7a 100755 --- a/internal/controller/namespaced/lustrefilestorage/lustrefilesystem/zz_controller.go +++ b/internal/controller/namespaced/lustrefilestorage/lustrefilesystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LustreFileSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LustreFileSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LustreFileSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LustreFileSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_lustre_file_storage_lustre_file_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_lustre_file_storage_lustre_file_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LustreFileSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/lustrefilestorage/objectstoragelink/zz_controller.go b/internal/controller/namespaced/lustrefilestorage/objectstoragelink/zz_controller.go index 130f3fa32..185b29c4c 100755 --- a/internal/controller/namespaced/lustrefilestorage/objectstoragelink/zz_controller.go +++ b/internal/controller/namespaced/lustrefilestorage/objectstoragelink/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ObjectStorageLink_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ObjectStorageLink_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ObjectStorageLink_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ObjectStorageLink_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_lustre_file_storage_object_storage_link"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_lustre_file_storage_object_storage_link"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ObjectStorageLink_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/managedkafka/kafkacluster/zz_controller.go b/internal/controller/namespaced/managedkafka/kafkacluster/zz_controller.go index 6d818895a..d3eec8792 100755 --- a/internal/controller/namespaced/managedkafka/kafkacluster/zz_controller.go +++ b/internal/controller/namespaced/managedkafka/kafkacluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KafkaCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KafkaCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KafkaCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/managedkafka/kafkaclusteraddon/zz_controller.go b/internal/controller/namespaced/managedkafka/kafkaclusteraddon/zz_controller.go index ea58e3613..56c8619c1 100755 --- a/internal/controller/namespaced/managedkafka/kafkaclusteraddon/zz_controller.go +++ b/internal/controller/namespaced/managedkafka/kafkaclusteraddon/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KafkaClusterAddon_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KafkaClusterAddon_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaClusterAddon_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaClusterAddon_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster_addon"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster_addon"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KafkaClusterAddon_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/managedkafka/kafkaclusterconfig/zz_controller.go b/internal/controller/namespaced/managedkafka/kafkaclusterconfig/zz_controller.go index a52dc06ea..cc490515f 100755 --- a/internal/controller/namespaced/managedkafka/kafkaclusterconfig/zz_controller.go +++ b/internal/controller/namespaced/managedkafka/kafkaclusterconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KafkaClusterConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KafkaClusterConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaClusterConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaClusterConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KafkaClusterConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/managedkafka/kafkaclustersuperusersmanagement/zz_controller.go b/internal/controller/namespaced/managedkafka/kafkaclustersuperusersmanagement/zz_controller.go index 5425a1b77..56a13c4c4 100755 --- a/internal/controller/namespaced/managedkafka/kafkaclustersuperusersmanagement/zz_controller.go +++ b/internal/controller/namespaced/managedkafka/kafkaclustersuperusersmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.KafkaClusterSuperusersManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.KafkaClusterSuperusersManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaClusterSuperusersManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.KafkaClusterSuperusersManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster_superusers_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_managed_kafka_kafka_cluster_superusers_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.KafkaClusterSuperusersManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/managementagent/managementagent/zz_controller.go b/internal/controller/namespaced/managementagent/managementagent/zz_controller.go index 23b1164bf..aba082595 100755 --- a/internal/controller/namespaced/managementagent/managementagent/zz_controller.go +++ b/internal/controller/namespaced/managementagent/managementagent/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementAgent_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementAgent_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAgent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAgent_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_management_agent_management_agent"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_management_agent_management_agent"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementAgent_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/managementagent/managementagentdatasource/zz_controller.go b/internal/controller/namespaced/managementagent/managementagentdatasource/zz_controller.go index c98d61528..8c9979463 100755 --- a/internal/controller/namespaced/managementagent/managementagentdatasource/zz_controller.go +++ b/internal/controller/namespaced/managementagent/managementagentdatasource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementAgentDataSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementAgentDataSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAgentDataSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAgentDataSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_management_agent_management_agent_data_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_management_agent_management_agent_data_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementAgentDataSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/managementagent/managementagentinstallkey/zz_controller.go b/internal/controller/namespaced/managementagent/managementagentinstallkey/zz_controller.go index 80c57f923..7c4fd9b48 100755 --- a/internal/controller/namespaced/managementagent/managementagentinstallkey/zz_controller.go +++ b/internal/controller/namespaced/managementagent/managementagentinstallkey/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementAgentInstallKey_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementAgentInstallKey_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAgentInstallKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAgentInstallKey_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_management_agent_management_agent_install_key"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_management_agent_management_agent_install_key"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementAgentInstallKey_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/managementagent/namedcredential/zz_controller.go b/internal/controller/namespaced/managementagent/namedcredential/zz_controller.go index 0225a1b96..85b100e87 100755 --- a/internal/controller/namespaced/managementagent/namedcredential/zz_controller.go +++ b/internal/controller/namespaced/managementagent/namedcredential/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NamedCredential_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NamedCredential_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamedCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NamedCredential_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_management_agent_named_credential"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_management_agent_named_credential"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NamedCredential_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/managementdashboard/managementdashboardsimport/zz_controller.go b/internal/controller/namespaced/managementdashboard/managementdashboardsimport/zz_controller.go index bc126885e..f1c55f410 100755 --- a/internal/controller/namespaced/managementdashboard/managementdashboardsimport/zz_controller.go +++ b/internal/controller/namespaced/managementdashboard/managementdashboardsimport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementDashboardsImport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementDashboardsImport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementDashboardsImport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementDashboardsImport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_management_dashboard_management_dashboards_import"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_management_dashboard_management_dashboards_import"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementDashboardsImport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/managementdashboard/managementsavedsearch/zz_controller.go b/internal/controller/namespaced/managementdashboard/managementsavedsearch/zz_controller.go index cf75d563b..6b85b8ad5 100755 --- a/internal/controller/namespaced/managementdashboard/managementsavedsearch/zz_controller.go +++ b/internal/controller/namespaced/managementdashboard/managementsavedsearch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementSavedSearch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementSavedSearch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementSavedSearch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementSavedSearch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_management_dashboard_management_saved_search"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_management_dashboard_management_saved_search"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementSavedSearch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/marketplace/acceptedagreement/zz_controller.go b/internal/controller/namespaced/marketplace/acceptedagreement/zz_controller.go index 47bca4243..aecb31ac7 100755 --- a/internal/controller/namespaced/marketplace/acceptedagreement/zz_controller.go +++ b/internal/controller/namespaced/marketplace/acceptedagreement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AcceptedAgreement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AcceptedAgreement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AcceptedAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AcceptedAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_marketplace_accepted_agreement"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_marketplace_accepted_agreement"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AcceptedAgreement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/marketplace/listingpackageagreement/zz_controller.go b/internal/controller/namespaced/marketplace/listingpackageagreement/zz_controller.go index 9bb3b0343..b0d6b56b3 100755 --- a/internal/controller/namespaced/marketplace/listingpackageagreement/zz_controller.go +++ b/internal/controller/namespaced/marketplace/listingpackageagreement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ListingPackageAgreement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ListingPackageAgreement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ListingPackageAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ListingPackageAgreement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_marketplace_listing_package_agreement"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_marketplace_listing_package_agreement"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ListingPackageAgreement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/marketplace/marketplaceexternalattestedmetadata/zz_controller.go b/internal/controller/namespaced/marketplace/marketplaceexternalattestedmetadata/zz_controller.go index 63b42bd4a..070f06912 100755 --- a/internal/controller/namespaced/marketplace/marketplaceexternalattestedmetadata/zz_controller.go +++ b/internal/controller/namespaced/marketplace/marketplaceexternalattestedmetadata/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MarketplaceExternalAttestedMetadata_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MarketplaceExternalAttestedMetadata_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MarketplaceExternalAttestedMetadata_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MarketplaceExternalAttestedMetadata_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_marketplace_marketplace_external_attested_metadata"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_marketplace_marketplace_external_attested_metadata"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MarketplaceExternalAttestedMetadata_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/marketplace/publication/zz_controller.go b/internal/controller/namespaced/marketplace/publication/zz_controller.go index b98967abd..d7d2c42ed 100755 --- a/internal/controller/namespaced/marketplace/publication/zz_controller.go +++ b/internal/controller/namespaced/marketplace/publication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Publication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Publication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Publication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Publication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_marketplace_publication"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_marketplace_publication"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Publication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/mediaservices/mediaasset/zz_controller.go b/internal/controller/namespaced/mediaservices/mediaasset/zz_controller.go index 88f7558f2..b755d85b2 100755 --- a/internal/controller/namespaced/mediaservices/mediaasset/zz_controller.go +++ b/internal/controller/namespaced/mediaservices/mediaasset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MediaAsset_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MediaAsset_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaAsset_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_asset"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_asset"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MediaAsset_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/mediaservices/mediaworkflow/zz_controller.go b/internal/controller/namespaced/mediaservices/mediaworkflow/zz_controller.go index e567c2818..139e1e6e6 100755 --- a/internal/controller/namespaced/mediaservices/mediaworkflow/zz_controller.go +++ b/internal/controller/namespaced/mediaservices/mediaworkflow/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MediaWorkflow_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MediaWorkflow_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaWorkflow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaWorkflow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_workflow"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_workflow"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MediaWorkflow_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/mediaservices/mediaworkflowconfiguration/zz_controller.go b/internal/controller/namespaced/mediaservices/mediaworkflowconfiguration/zz_controller.go index cef9fcc20..734f4b999 100755 --- a/internal/controller/namespaced/mediaservices/mediaworkflowconfiguration/zz_controller.go +++ b/internal/controller/namespaced/mediaservices/mediaworkflowconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MediaWorkflowConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MediaWorkflowConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaWorkflowConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaWorkflowConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_workflow_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_workflow_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MediaWorkflowConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/mediaservices/mediaworkflowjob/zz_controller.go b/internal/controller/namespaced/mediaservices/mediaworkflowjob/zz_controller.go index cfe3770e8..55f2dcdd4 100755 --- a/internal/controller/namespaced/mediaservices/mediaworkflowjob/zz_controller.go +++ b/internal/controller/namespaced/mediaservices/mediaworkflowjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MediaWorkflowJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MediaWorkflowJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaWorkflowJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MediaWorkflowJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_workflow_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_media_workflow_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MediaWorkflowJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/mediaservices/streamcdnconfig/zz_controller.go b/internal/controller/namespaced/mediaservices/streamcdnconfig/zz_controller.go index d906349d9..e761d0858 100755 --- a/internal/controller/namespaced/mediaservices/streamcdnconfig/zz_controller.go +++ b/internal/controller/namespaced/mediaservices/streamcdnconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamCdnConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamCdnConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamCdnConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamCdnConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_stream_cdn_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_stream_cdn_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamCdnConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/mediaservices/streamdistributionchannel/zz_controller.go b/internal/controller/namespaced/mediaservices/streamdistributionchannel/zz_controller.go index 3ce5623fe..b267769d2 100755 --- a/internal/controller/namespaced/mediaservices/streamdistributionchannel/zz_controller.go +++ b/internal/controller/namespaced/mediaservices/streamdistributionchannel/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamDistributionChannel_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamDistributionChannel_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamDistributionChannel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamDistributionChannel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_stream_distribution_channel"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_stream_distribution_channel"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamDistributionChannel_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/mediaservices/streampackagingconfig/zz_controller.go b/internal/controller/namespaced/mediaservices/streampackagingconfig/zz_controller.go index 3e72da86b..ad5e3b2e2 100755 --- a/internal/controller/namespaced/mediaservices/streampackagingconfig/zz_controller.go +++ b/internal/controller/namespaced/mediaservices/streampackagingconfig/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamPackagingConfig_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamPackagingConfig_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamPackagingConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamPackagingConfig_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_media_services_stream_packaging_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_media_services_stream_packaging_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamPackagingConfig_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/meteringcomputation/customtable/zz_controller.go b/internal/controller/namespaced/meteringcomputation/customtable/zz_controller.go index 21658d852..43f7cb706 100755 --- a/internal/controller/namespaced/meteringcomputation/customtable/zz_controller.go +++ b/internal/controller/namespaced/meteringcomputation/customtable/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CustomTable_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CustomTable_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_custom_table"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_custom_table"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CustomTable_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/meteringcomputation/query/zz_controller.go b/internal/controller/namespaced/meteringcomputation/query/zz_controller.go index 428b76e17..dfa4c8188 100755 --- a/internal/controller/namespaced/meteringcomputation/query/zz_controller.go +++ b/internal/controller/namespaced/meteringcomputation/query/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Query_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Query_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Query_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Query_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_query"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_query"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Query_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/meteringcomputation/schedule/zz_controller.go b/internal/controller/namespaced/meteringcomputation/schedule/zz_controller.go index 51e8fa529..310d5dbf2 100755 --- a/internal/controller/namespaced/meteringcomputation/schedule/zz_controller.go +++ b/internal/controller/namespaced/meteringcomputation/schedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Schedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Schedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Schedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Schedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Schedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/meteringcomputation/usage/zz_controller.go b/internal/controller/namespaced/meteringcomputation/usage/zz_controller.go index 4ed2525a7..1dc2a5e1f 100755 --- a/internal/controller/namespaced/meteringcomputation/usage/zz_controller.go +++ b/internal/controller/namespaced/meteringcomputation/usage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Usage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Usage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Usage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Usage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Usage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/meteringcomputation/usagecarbonemission/zz_controller.go b/internal/controller/namespaced/meteringcomputation/usagecarbonemission/zz_controller.go index e2c88f804..990b74a58 100755 --- a/internal/controller/namespaced/meteringcomputation/usagecarbonemission/zz_controller.go +++ b/internal/controller/namespaced/meteringcomputation/usagecarbonemission/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UsageCarbonEmission_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UsageCarbonEmission_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsageCarbonEmission_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsageCarbonEmission_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage_carbon_emission"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage_carbon_emission"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UsageCarbonEmission_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/meteringcomputation/usagecarbonemissionsquery/zz_controller.go b/internal/controller/namespaced/meteringcomputation/usagecarbonemissionsquery/zz_controller.go index b5b74c0d6..50ff1cc50 100755 --- a/internal/controller/namespaced/meteringcomputation/usagecarbonemissionsquery/zz_controller.go +++ b/internal/controller/namespaced/meteringcomputation/usagecarbonemissionsquery/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UsageCarbonEmissionsQuery_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UsageCarbonEmissionsQuery_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsageCarbonEmissionsQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsageCarbonEmissionsQuery_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage_carbon_emissions_query"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage_carbon_emissions_query"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UsageCarbonEmissionsQuery_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/meteringcomputation/usagestatementemailrecipientsgroup/zz_controller.go b/internal/controller/namespaced/meteringcomputation/usagestatementemailrecipientsgroup/zz_controller.go index e5319e3c4..36fa9b75c 100755 --- a/internal/controller/namespaced/meteringcomputation/usagestatementemailrecipientsgroup/zz_controller.go +++ b/internal/controller/namespaced/meteringcomputation/usagestatementemailrecipientsgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.UsageStatementEmailRecipientsGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.UsageStatementEmailRecipientsGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsageStatementEmailRecipientsGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UsageStatementEmailRecipientsGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage_statement_email_recipients_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_metering_computation_usage_statement_email_recipients_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.UsageStatementEmailRecipientsGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/monitoring/alarm/zz_controller.go b/internal/controller/namespaced/monitoring/alarm/zz_controller.go index 7a70413a3..cd7692137 100755 --- a/internal/controller/namespaced/monitoring/alarm/zz_controller.go +++ b/internal/controller/namespaced/monitoring/alarm/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Alarm_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Alarm_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Alarm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Alarm_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_monitoring_alarm"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_monitoring_alarm"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Alarm_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/monitoring/alarmsuppression/zz_controller.go b/internal/controller/namespaced/monitoring/alarmsuppression/zz_controller.go index 005648462..583817d2c 100755 --- a/internal/controller/namespaced/monitoring/alarmsuppression/zz_controller.go +++ b/internal/controller/namespaced/monitoring/alarmsuppression/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AlarmSuppression_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AlarmSuppression_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlarmSuppression_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AlarmSuppression_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_monitoring_alarm_suppression"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_monitoring_alarm_suppression"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AlarmSuppression_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/monitoring/capturefilter/zz_controller.go b/internal/controller/namespaced/monitoring/capturefilter/zz_controller.go index bc6a2a06d..45c872192 100755 --- a/internal/controller/namespaced/monitoring/capturefilter/zz_controller.go +++ b/internal/controller/namespaced/monitoring/capturefilter/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CaptureFilter_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CaptureFilter_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CaptureFilter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CaptureFilter_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_capture_filter"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_capture_filter"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CaptureFilter_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/monitoring/vtap/zz_controller.go b/internal/controller/namespaced/monitoring/vtap/zz_controller.go index 1c9f85cda..3e1b91512 100755 --- a/internal/controller/namespaced/monitoring/vtap/zz_controller.go +++ b/internal/controller/namespaced/monitoring/vtap/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Vtap_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Vtap_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vtap_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vtap_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_vtap"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_vtap"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Vtap_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/mysql/mysqlbackup/zz_controller.go b/internal/controller/namespaced/mysql/mysqlbackup/zz_controller.go index fafb69b51..2f18c5e18 100755 --- a/internal/controller/namespaced/mysql/mysqlbackup/zz_controller.go +++ b/internal/controller/namespaced/mysql/mysqlbackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MysqlBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MysqlBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_mysql_mysql_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_mysql_mysql_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MysqlBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/mysql/mysqlchannel/zz_controller.go b/internal/controller/namespaced/mysql/mysqlchannel/zz_controller.go index cce45be7a..626d8824a 100755 --- a/internal/controller/namespaced/mysql/mysqlchannel/zz_controller.go +++ b/internal/controller/namespaced/mysql/mysqlchannel/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MysqlChannel_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MysqlChannel_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlChannel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlChannel_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_mysql_channel"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_mysql_channel"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MysqlChannel_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/mysql/mysqlconfiguration/zz_controller.go b/internal/controller/namespaced/mysql/mysqlconfiguration/zz_controller.go index fc0422b28..2d5a2700f 100755 --- a/internal/controller/namespaced/mysql/mysqlconfiguration/zz_controller.go +++ b/internal/controller/namespaced/mysql/mysqlconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MysqlConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MysqlConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_mysql_mysql_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_mysql_mysql_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MysqlConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/mysql/mysqldbsystem/zz_controller.go b/internal/controller/namespaced/mysql/mysqldbsystem/zz_controller.go index 6f27c9e23..dfb27ede6 100755 --- a/internal/controller/namespaced/mysql/mysqldbsystem/zz_controller.go +++ b/internal/controller/namespaced/mysql/mysqldbsystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MysqlDbSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MysqlDbSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_mysql_mysql_db_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_mysql_mysql_db_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MysqlDbSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/mysql/mysqlheatwavecluster/zz_controller.go b/internal/controller/namespaced/mysql/mysqlheatwavecluster/zz_controller.go index dec994da7..c20a79f69 100755 --- a/internal/controller/namespaced/mysql/mysqlheatwavecluster/zz_controller.go +++ b/internal/controller/namespaced/mysql/mysqlheatwavecluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MysqlHeatWaveCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MysqlHeatWaveCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlHeatWaveCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlHeatWaveCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_mysql_heat_wave_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_mysql_heat_wave_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MysqlHeatWaveCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/mysql/mysqlreplica/zz_controller.go b/internal/controller/namespaced/mysql/mysqlreplica/zz_controller.go index 1b1148e5f..6345543f3 100755 --- a/internal/controller/namespaced/mysql/mysqlreplica/zz_controller.go +++ b/internal/controller/namespaced/mysql/mysqlreplica/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MysqlReplica_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MysqlReplica_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlReplica_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MysqlReplica_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_mysql_replica"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_mysql_replica"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MysqlReplica_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/cpe/zz_controller.go b/internal/controller/namespaced/networkconnectivity/cpe/zz_controller.go index 2edeea6d1..24cb3b0d8 100755 --- a/internal/controller/namespaced/networkconnectivity/cpe/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/cpe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Cpe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Cpe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Cpe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Cpe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_cpe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_cpe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Cpe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/crossconnect/zz_controller.go b/internal/controller/namespaced/networkconnectivity/crossconnect/zz_controller.go index 8960375da..9045186ba 100755 --- a/internal/controller/namespaced/networkconnectivity/crossconnect/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/crossconnect/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CrossConnect_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CrossConnect_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CrossConnect_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CrossConnect_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_cross_connect"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_cross_connect"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CrossConnect_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/crossconnectgroup/zz_controller.go b/internal/controller/namespaced/networkconnectivity/crossconnectgroup/zz_controller.go index f38bc5d2e..9c8ce0f38 100755 --- a/internal/controller/namespaced/networkconnectivity/crossconnectgroup/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/crossconnectgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CrossConnectGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CrossConnectGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CrossConnectGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CrossConnectGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_cross_connect_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_cross_connect_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CrossConnectGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/drg/zz_controller.go b/internal/controller/namespaced/networkconnectivity/drg/zz_controller.go index 17667ea25..999b02ebd 100755 --- a/internal/controller/namespaced/networkconnectivity/drg/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/drg/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Drg_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Drg_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Drg_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Drg_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Drg_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/drgattachment/zz_controller.go b/internal/controller/namespaced/networkconnectivity/drgattachment/zz_controller.go index 0a5d2b005..4b51b62bc 100755 --- a/internal/controller/namespaced/networkconnectivity/drgattachment/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/drgattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/drgattachmentmanagement/zz_controller.go b/internal/controller/namespaced/networkconnectivity/drgattachmentmanagement/zz_controller.go index 6fab95913..3986e2af0 100755 --- a/internal/controller/namespaced/networkconnectivity/drgattachmentmanagement/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/drgattachmentmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgAttachmentManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgAttachmentManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgAttachmentManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgAttachmentManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_attachment_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_attachment_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgAttachmentManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/drgattachmentslist/zz_controller.go b/internal/controller/namespaced/networkconnectivity/drgattachmentslist/zz_controller.go index 9725714db..dc7b35085 100755 --- a/internal/controller/namespaced/networkconnectivity/drgattachmentslist/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/drgattachmentslist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgAttachmentsList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgAttachmentsList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgAttachmentsList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgAttachmentsList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_attachments_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_attachments_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgAttachmentsList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/drgroutedistribution/zz_controller.go b/internal/controller/namespaced/networkconnectivity/drgroutedistribution/zz_controller.go index cafc166de..d20fefab4 100755 --- a/internal/controller/namespaced/networkconnectivity/drgroutedistribution/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/drgroutedistribution/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgRouteDistribution_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgRouteDistribution_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteDistribution_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteDistribution_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_distribution"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_distribution"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgRouteDistribution_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/drgroutedistributionstatement/zz_controller.go b/internal/controller/namespaced/networkconnectivity/drgroutedistributionstatement/zz_controller.go index 299d8cb4a..6041d8ebb 100755 --- a/internal/controller/namespaced/networkconnectivity/drgroutedistributionstatement/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/drgroutedistributionstatement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgRouteDistributionStatement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgRouteDistributionStatement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteDistributionStatement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteDistributionStatement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_distribution_statement"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_distribution_statement"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgRouteDistributionStatement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/drgroutetable/zz_controller.go b/internal/controller/namespaced/networkconnectivity/drgroutetable/zz_controller.go index 6eb070d80..cb13cc16d 100755 --- a/internal/controller/namespaced/networkconnectivity/drgroutetable/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/drgroutetable/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgRouteTable_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgRouteTable_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_table"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_table"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgRouteTable_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/drgroutetablerouterule/zz_controller.go b/internal/controller/namespaced/networkconnectivity/drgroutetablerouterule/zz_controller.go index 0b906cda4..4a3acffa0 100755 --- a/internal/controller/namespaced/networkconnectivity/drgroutetablerouterule/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/drgroutetablerouterule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DrgRouteTableRouteRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DrgRouteTableRouteRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteTableRouteRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DrgRouteTableRouteRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_table_route_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_drg_route_table_route_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DrgRouteTableRouteRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/ipsec/zz_controller.go b/internal/controller/namespaced/networkconnectivity/ipsec/zz_controller.go index 3b0e0658b..0ad658c2b 100755 --- a/internal/controller/namespaced/networkconnectivity/ipsec/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/ipsec/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Ipsec_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Ipsec_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Ipsec_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Ipsec_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_ipsec"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_ipsec"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Ipsec_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/ipsecconnectiontunnelmanagement/zz_controller.go b/internal/controller/namespaced/networkconnectivity/ipsecconnectiontunnelmanagement/zz_controller.go index 066addb92..c7b0293d7 100755 --- a/internal/controller/namespaced/networkconnectivity/ipsecconnectiontunnelmanagement/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/ipsecconnectiontunnelmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.IpsecConnectionTunnelManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.IpsecConnectionTunnelManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IpsecConnectionTunnelManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.IpsecConnectionTunnelManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_ipsec_connection_tunnel_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_ipsec_connection_tunnel_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.IpsecConnectionTunnelManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkconnectivity/virtualcircuit/zz_controller.go b/internal/controller/namespaced/networkconnectivity/virtualcircuit/zz_controller.go index 8b1578e9e..97bdf3642 100755 --- a/internal/controller/namespaced/networkconnectivity/virtualcircuit/zz_controller.go +++ b/internal/controller/namespaced/networkconnectivity/virtualcircuit/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VirtualCircuit_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VirtualCircuit_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VirtualCircuit_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VirtualCircuit_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_virtual_circuit"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_virtual_circuit"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VirtualCircuit_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkfirewall/networkfirewall/zz_controller.go b/internal/controller/namespaced/networkfirewall/networkfirewall/zz_controller.go index 6bae35f3d..28e26bc66 100755 --- a/internal/controller/namespaced/networkfirewall/networkfirewall/zz_controller.go +++ b/internal/controller/namespaced/networkfirewall/networkfirewall/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewall_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewall_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewall_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewall_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewall_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkfirewall/networkfirewallpolicy/zz_controller.go b/internal/controller/namespaced/networkfirewall/networkfirewallpolicy/zz_controller.go index f6582fa84..f7b8c8d8a 100755 --- a/internal/controller/namespaced/networkfirewall/networkfirewallpolicy/zz_controller.go +++ b/internal/controller/namespaced/networkfirewall/networkfirewallpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkfirewall/networkfirewallpolicyaddresslist/zz_controller.go b/internal/controller/namespaced/networkfirewall/networkfirewallpolicyaddresslist/zz_controller.go index 80eaa2eb4..7034c62fc 100755 --- a/internal/controller/namespaced/networkfirewall/networkfirewallpolicyaddresslist/zz_controller.go +++ b/internal/controller/namespaced/networkfirewall/networkfirewallpolicyaddresslist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyAddressList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyAddressList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyAddressList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyAddressList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_address_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_address_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyAddressList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkfirewall/networkfirewallpolicyapplication/zz_controller.go b/internal/controller/namespaced/networkfirewall/networkfirewallpolicyapplication/zz_controller.go index 39a189519..0a376e553 100755 --- a/internal/controller/namespaced/networkfirewall/networkfirewallpolicyapplication/zz_controller.go +++ b/internal/controller/namespaced/networkfirewall/networkfirewallpolicyapplication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyApplication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyApplication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_application"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_application"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyApplication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkfirewall/networkfirewallpolicyapplicationgroup/zz_controller.go b/internal/controller/namespaced/networkfirewall/networkfirewallpolicyapplicationgroup/zz_controller.go index 938939fc6..b66e66487 100755 --- a/internal/controller/namespaced/networkfirewall/networkfirewallpolicyapplicationgroup/zz_controller.go +++ b/internal/controller/namespaced/networkfirewall/networkfirewallpolicyapplicationgroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyApplicationGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyApplicationGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyApplicationGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyApplicationGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_application_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_application_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyApplicationGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkfirewall/networkfirewallpolicydecryptionprofile/zz_controller.go b/internal/controller/namespaced/networkfirewall/networkfirewallpolicydecryptionprofile/zz_controller.go index 128ee84b9..a6b5ee543 100755 --- a/internal/controller/namespaced/networkfirewall/networkfirewallpolicydecryptionprofile/zz_controller.go +++ b/internal/controller/namespaced/networkfirewall/networkfirewallpolicydecryptionprofile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyDecryptionProfile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyDecryptionProfile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyDecryptionProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyDecryptionProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_decryption_profile"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_decryption_profile"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyDecryptionProfile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkfirewall/networkfirewallpolicydecryptionrule/zz_controller.go b/internal/controller/namespaced/networkfirewall/networkfirewallpolicydecryptionrule/zz_controller.go index 234f42619..8cdae9843 100755 --- a/internal/controller/namespaced/networkfirewall/networkfirewallpolicydecryptionrule/zz_controller.go +++ b/internal/controller/namespaced/networkfirewall/networkfirewallpolicydecryptionrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyDecryptionRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyDecryptionRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyDecryptionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyDecryptionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_decryption_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_decryption_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyDecryptionRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkfirewall/networkfirewallpolicymappedsecret/zz_controller.go b/internal/controller/namespaced/networkfirewall/networkfirewallpolicymappedsecret/zz_controller.go index 65ab8a2f0..a6fddb44f 100755 --- a/internal/controller/namespaced/networkfirewall/networkfirewallpolicymappedsecret/zz_controller.go +++ b/internal/controller/namespaced/networkfirewall/networkfirewallpolicymappedsecret/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyMappedSecret_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyMappedSecret_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyMappedSecret_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyMappedSecret_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_mapped_secret"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_mapped_secret"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyMappedSecret_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkfirewall/networkfirewallpolicynatrule/zz_controller.go b/internal/controller/namespaced/networkfirewall/networkfirewallpolicynatrule/zz_controller.go index 8561e51f4..00c12646b 100755 --- a/internal/controller/namespaced/networkfirewall/networkfirewallpolicynatrule/zz_controller.go +++ b/internal/controller/namespaced/networkfirewall/networkfirewallpolicynatrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyNatRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyNatRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyNatRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyNatRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_nat_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_nat_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyNatRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkfirewall/networkfirewallpolicysecurityrule/zz_controller.go b/internal/controller/namespaced/networkfirewall/networkfirewallpolicysecurityrule/zz_controller.go index 2d9309d29..5cf3974b9 100755 --- a/internal/controller/namespaced/networkfirewall/networkfirewallpolicysecurityrule/zz_controller.go +++ b/internal/controller/namespaced/networkfirewall/networkfirewallpolicysecurityrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicySecurityRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicySecurityRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicySecurityRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicySecurityRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_security_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_security_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicySecurityRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkfirewall/networkfirewallpolicyservice/zz_controller.go b/internal/controller/namespaced/networkfirewall/networkfirewallpolicyservice/zz_controller.go index 33772e66f..befcaa5ea 100755 --- a/internal/controller/namespaced/networkfirewall/networkfirewallpolicyservice/zz_controller.go +++ b/internal/controller/namespaced/networkfirewall/networkfirewallpolicyservice/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyService_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyService_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyService_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyService_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_service"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_service"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyService_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkfirewall/networkfirewallpolicytunnelinspectionrule/zz_controller.go b/internal/controller/namespaced/networkfirewall/networkfirewallpolicytunnelinspectionrule/zz_controller.go index 7cb7a6d35..9db97dd5a 100755 --- a/internal/controller/namespaced/networkfirewall/networkfirewallpolicytunnelinspectionrule/zz_controller.go +++ b/internal/controller/namespaced/networkfirewall/networkfirewallpolicytunnelinspectionrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkFirewallPolicyTunnelInspectionRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkFirewallPolicyTunnelInspectionRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyTunnelInspectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkFirewallPolicyTunnelInspectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_tunnel_inspection_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_firewall_network_firewall_policy_tunnel_inspection_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkFirewallPolicyTunnelInspectionRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/defaultdhcpoptions/zz_controller.go b/internal/controller/namespaced/networking/defaultdhcpoptions/zz_controller.go index 9a35aa758..3961c4301 100755 --- a/internal/controller/namespaced/networking/defaultdhcpoptions/zz_controller.go +++ b/internal/controller/namespaced/networking/defaultdhcpoptions/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DefaultDhcpOptions_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DefaultDhcpOptions_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DefaultDhcpOptions_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DefaultDhcpOptions_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_default_dhcp_options"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_default_dhcp_options"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DefaultDhcpOptions_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/defaultroutetable/zz_controller.go b/internal/controller/namespaced/networking/defaultroutetable/zz_controller.go index cabf70960..074fce7d5 100755 --- a/internal/controller/namespaced/networking/defaultroutetable/zz_controller.go +++ b/internal/controller/namespaced/networking/defaultroutetable/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DefaultRouteTable_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DefaultRouteTable_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DefaultRouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DefaultRouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_default_route_table"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_default_route_table"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DefaultRouteTable_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/defaultsecuritylist/zz_controller.go b/internal/controller/namespaced/networking/defaultsecuritylist/zz_controller.go index f6a5f4947..78ab7f6cb 100755 --- a/internal/controller/namespaced/networking/defaultsecuritylist/zz_controller.go +++ b/internal/controller/namespaced/networking/defaultsecuritylist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DefaultSecurityList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DefaultSecurityList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DefaultSecurityList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DefaultSecurityList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_default_security_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_default_security_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DefaultSecurityList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/dhcpoptions/zz_controller.go b/internal/controller/namespaced/networking/dhcpoptions/zz_controller.go index 773dfc2ac..56c242093 100755 --- a/internal/controller/namespaced/networking/dhcpoptions/zz_controller.go +++ b/internal/controller/namespaced/networking/dhcpoptions/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DhcpOptions_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DhcpOptions_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DhcpOptions_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DhcpOptions_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_dhcp_options"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_dhcp_options"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DhcpOptions_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/internetgateway/zz_controller.go b/internal/controller/namespaced/networking/internetgateway/zz_controller.go index 67a8b241c..d6f131da9 100755 --- a/internal/controller/namespaced/networking/internetgateway/zz_controller.go +++ b/internal/controller/namespaced/networking/internetgateway/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.InternetGateway_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.InternetGateway_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InternetGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.InternetGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_internet_gateway"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_internet_gateway"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.InternetGateway_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/ipv6/zz_controller.go b/internal/controller/namespaced/networking/ipv6/zz_controller.go index d1f69ca5c..e3967a830 100755 --- a/internal/controller/namespaced/networking/ipv6/zz_controller.go +++ b/internal/controller/namespaced/networking/ipv6/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Ipv6_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Ipv6_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Ipv6_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Ipv6_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_ipv6"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_ipv6"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Ipv6_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/localpeeringgateway/zz_controller.go b/internal/controller/namespaced/networking/localpeeringgateway/zz_controller.go index e4506d975..50e97eb1e 100755 --- a/internal/controller/namespaced/networking/localpeeringgateway/zz_controller.go +++ b/internal/controller/namespaced/networking/localpeeringgateway/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LocalPeeringGateway_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LocalPeeringGateway_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LocalPeeringGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LocalPeeringGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_local_peering_gateway"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_local_peering_gateway"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LocalPeeringGateway_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/natgateway/zz_controller.go b/internal/controller/namespaced/networking/natgateway/zz_controller.go index cc6831266..be60d0edf 100755 --- a/internal/controller/namespaced/networking/natgateway/zz_controller.go +++ b/internal/controller/namespaced/networking/natgateway/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NatGateway_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NatGateway_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NatGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NatGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_nat_gateway"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_nat_gateway"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NatGateway_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/networksecuritygroup/zz_controller.go b/internal/controller/namespaced/networking/networksecuritygroup/zz_controller.go index 041755e98..f4ff82421 100755 --- a/internal/controller/namespaced/networking/networksecuritygroup/zz_controller.go +++ b/internal/controller/namespaced/networking/networksecuritygroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkSecurityGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkSecurityGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkSecurityGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkSecurityGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_network_security_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_network_security_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkSecurityGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/networksecuritygroupsecurityrule/zz_controller.go b/internal/controller/namespaced/networking/networksecuritygroupsecurityrule/zz_controller.go index 51b217f2b..0e9189632 100755 --- a/internal/controller/namespaced/networking/networksecuritygroupsecurityrule/zz_controller.go +++ b/internal/controller/namespaced/networking/networksecuritygroupsecurityrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkSecurityGroupSecurityRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkSecurityGroupSecurityRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkSecurityGroupSecurityRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkSecurityGroupSecurityRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_network_security_group_security_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_network_security_group_security_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkSecurityGroupSecurityRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/privateip/zz_controller.go b/internal/controller/namespaced/networking/privateip/zz_controller.go index 2b279c819..d4a5bf7e0 100755 --- a/internal/controller/namespaced/networking/privateip/zz_controller.go +++ b/internal/controller/namespaced/networking/privateip/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateIp_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateIp_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateIp_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateIp_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_private_ip"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_private_ip"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateIp_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/publicip/zz_controller.go b/internal/controller/namespaced/networking/publicip/zz_controller.go index c5a750dfa..5227faeb5 100755 --- a/internal/controller/namespaced/networking/publicip/zz_controller.go +++ b/internal/controller/namespaced/networking/publicip/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PublicIp_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PublicIp_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PublicIp_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PublicIp_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_public_ip"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_public_ip"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PublicIp_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/publicippool/zz_controller.go b/internal/controller/namespaced/networking/publicippool/zz_controller.go index a3beaea82..bd9bbdd78 100755 --- a/internal/controller/namespaced/networking/publicippool/zz_controller.go +++ b/internal/controller/namespaced/networking/publicippool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PublicIpPool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PublicIpPool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PublicIpPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PublicIpPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_public_ip_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_public_ip_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PublicIpPool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/publicippoolcapacity/zz_controller.go b/internal/controller/namespaced/networking/publicippoolcapacity/zz_controller.go index 2e6f3dd2b..a7220de1b 100755 --- a/internal/controller/namespaced/networking/publicippoolcapacity/zz_controller.go +++ b/internal/controller/namespaced/networking/publicippoolcapacity/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PublicIpPoolCapacity_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PublicIpPoolCapacity_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PublicIpPoolCapacity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PublicIpPoolCapacity_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_public_ip_pool_capacity"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_public_ip_pool_capacity"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PublicIpPoolCapacity_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/remotepeeringconnection/zz_controller.go b/internal/controller/namespaced/networking/remotepeeringconnection/zz_controller.go index 8cc931269..f9b2a2e68 100755 --- a/internal/controller/namespaced/networking/remotepeeringconnection/zz_controller.go +++ b/internal/controller/namespaced/networking/remotepeeringconnection/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RemotePeeringConnection_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RemotePeeringConnection_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RemotePeeringConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RemotePeeringConnection_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_remote_peering_connection"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_remote_peering_connection"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RemotePeeringConnection_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/routetable/zz_controller.go b/internal/controller/namespaced/networking/routetable/zz_controller.go index e8ac6861d..9ad7e55c5 100755 --- a/internal/controller/namespaced/networking/routetable/zz_controller.go +++ b/internal/controller/namespaced/networking/routetable/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RouteTable_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RouteTable_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_route_table"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_route_table"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RouteTable_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/routetableattachment/zz_controller.go b/internal/controller/namespaced/networking/routetableattachment/zz_controller.go index 30d1e529b..693142763 100755 --- a/internal/controller/namespaced/networking/routetableattachment/zz_controller.go +++ b/internal/controller/namespaced/networking/routetableattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RouteTableAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RouteTableAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RouteTableAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RouteTableAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_route_table_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_route_table_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RouteTableAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/securitylist/zz_controller.go b/internal/controller/namespaced/networking/securitylist/zz_controller.go index 8e840a9d6..688286f09 100755 --- a/internal/controller/namespaced/networking/securitylist/zz_controller.go +++ b/internal/controller/namespaced/networking/securitylist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_security_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_security_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/servicegateway/zz_controller.go b/internal/controller/namespaced/networking/servicegateway/zz_controller.go index aa3770eba..8b2f9fbe2 100755 --- a/internal/controller/namespaced/networking/servicegateway/zz_controller.go +++ b/internal/controller/namespaced/networking/servicegateway/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ServiceGateway_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ServiceGateway_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceGateway_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_service_gateway"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_service_gateway"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ServiceGateway_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/subnet/zz_controller.go b/internal/controller/namespaced/networking/subnet/zz_controller.go index bd86c7a04..04816e552 100755 --- a/internal/controller/namespaced/networking/subnet/zz_controller.go +++ b/internal/controller/namespaced/networking/subnet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Subnet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Subnet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subnet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subnet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_subnet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_subnet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Subnet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/vcn/zz_controller.go b/internal/controller/namespaced/networking/vcn/zz_controller.go index f50eddf0e..c9d083a10 100755 --- a/internal/controller/namespaced/networking/vcn/zz_controller.go +++ b/internal/controller/namespaced/networking/vcn/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Vcn_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Vcn_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vcn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vcn_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_vcn"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_vcn"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Vcn_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/vlan/zz_controller.go b/internal/controller/namespaced/networking/vlan/zz_controller.go index ac4cccddc..d563c71f8 100755 --- a/internal/controller/namespaced/networking/vlan/zz_controller.go +++ b/internal/controller/namespaced/networking/vlan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Vlan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Vlan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Vlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_vlan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_vlan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Vlan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networking/vnicattachment/zz_controller.go b/internal/controller/namespaced/networking/vnicattachment/zz_controller.go index 9cb081282..06f91989a 100755 --- a/internal/controller/namespaced/networking/vnicattachment/zz_controller.go +++ b/internal/controller/namespaced/networking/vnicattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VnicAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VnicAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VnicAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VnicAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_core_vnic_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_core_vnic_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VnicAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkloadbalancer/backend/zz_controller.go b/internal/controller/namespaced/networkloadbalancer/backend/zz_controller.go index b8c7d46c9..d82118e39 100755 --- a/internal/controller/namespaced/networkloadbalancer/backend/zz_controller.go +++ b/internal/controller/namespaced/networkloadbalancer/backend/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Backend_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Backend_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Backend_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Backend_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_backend"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_backend"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Backend_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkloadbalancer/backendset/zz_controller.go b/internal/controller/namespaced/networkloadbalancer/backendset/zz_controller.go index 48c0cd0c0..00bbe3027 100755 --- a/internal/controller/namespaced/networkloadbalancer/backendset/zz_controller.go +++ b/internal/controller/namespaced/networkloadbalancer/backendset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BackendSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BackendSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackendSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BackendSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_backend_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_backend_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BackendSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkloadbalancer/listener/zz_controller.go b/internal/controller/namespaced/networkloadbalancer/listener/zz_controller.go index 5990b4c83..89a155a77 100755 --- a/internal/controller/namespaced/networkloadbalancer/listener/zz_controller.go +++ b/internal/controller/namespaced/networkloadbalancer/listener/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Listener_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Listener_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Listener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Listener_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_listener"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_listener"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Listener_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkloadbalancer/networkloadbalancer/zz_controller.go b/internal/controller/namespaced/networkloadbalancer/networkloadbalancer/zz_controller.go index 723edf23b..d23c3dcf2 100755 --- a/internal/controller/namespaced/networkloadbalancer/networkloadbalancer/zz_controller.go +++ b/internal/controller/namespaced/networkloadbalancer/networkloadbalancer/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkLoadBalancer_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkLoadBalancer_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkLoadBalancer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkLoadBalancer_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_network_load_balancer"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_network_load_balancer"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkLoadBalancer_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/networkloadbalancer/networkloadbalancersbackendsetsunified/zz_controller.go b/internal/controller/namespaced/networkloadbalancer/networkloadbalancersbackendsetsunified/zz_controller.go index 2e4b29909..f35ca857c 100755 --- a/internal/controller/namespaced/networkloadbalancer/networkloadbalancersbackendsetsunified/zz_controller.go +++ b/internal/controller/namespaced/networkloadbalancer/networkloadbalancersbackendsetsunified/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkLoadBalancersBackendSetsUnified_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkLoadBalancersBackendSetsUnified_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkLoadBalancersBackendSetsUnified_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkLoadBalancersBackendSetsUnified_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_network_load_balancers_backend_sets_unified"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_network_load_balancer_network_load_balancers_backend_sets_unified"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkLoadBalancersBackendSetsUnified_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/nosql/configuration/zz_controller.go b/internal/controller/namespaced/nosql/configuration/zz_controller.go index c079846cf..036f8a120 100755 --- a/internal/controller/namespaced/nosql/configuration/zz_controller.go +++ b/internal/controller/namespaced/nosql/configuration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Configuration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Configuration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_nosql_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_nosql_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Configuration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/nosql/index/zz_controller.go b/internal/controller/namespaced/nosql/index/zz_controller.go index c351bea10..7889c70d1 100755 --- a/internal/controller/namespaced/nosql/index/zz_controller.go +++ b/internal/controller/namespaced/nosql/index/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Index_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Index_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Index_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Index_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_nosql_index"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_nosql_index"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Index_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/nosql/table/zz_controller.go b/internal/controller/namespaced/nosql/table/zz_controller.go index 56a837a89..1744511c7 100755 --- a/internal/controller/namespaced/nosql/table/zz_controller.go +++ b/internal/controller/namespaced/nosql/table/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Table_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Table_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Table_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Table_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_nosql_table"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_nosql_table"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Table_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/nosql/tablereplica/zz_controller.go b/internal/controller/namespaced/nosql/tablereplica/zz_controller.go index 9a85a102c..310dbefd7 100755 --- a/internal/controller/namespaced/nosql/tablereplica/zz_controller.go +++ b/internal/controller/namespaced/nosql/tablereplica/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TableReplica_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TableReplica_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TableReplica_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TableReplica_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_nosql_table_replica"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_nosql_table_replica"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TableReplica_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/objectstorage/bucket/zz_controller.go b/internal/controller/namespaced/objectstorage/bucket/zz_controller.go index 61c78c4d2..296ca5ae3 100755 --- a/internal/controller/namespaced/objectstorage/bucket/zz_controller.go +++ b/internal/controller/namespaced/objectstorage/bucket/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Bucket_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Bucket_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Bucket_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Bucket_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_bucket"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_bucket"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Bucket_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/objectstorage/object/zz_controller.go b/internal/controller/namespaced/objectstorage/object/zz_controller.go index 3cb8bd236..7613d6ae8 100755 --- a/internal/controller/namespaced/objectstorage/object/zz_controller.go +++ b/internal/controller/namespaced/objectstorage/object/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Object_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Object_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Object_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Object_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_object"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_object"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Object_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/objectstorage/objectlifecyclepolicy/zz_controller.go b/internal/controller/namespaced/objectstorage/objectlifecyclepolicy/zz_controller.go index 2b3a7356e..2014f5b42 100755 --- a/internal/controller/namespaced/objectstorage/objectlifecyclepolicy/zz_controller.go +++ b/internal/controller/namespaced/objectstorage/objectlifecyclepolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ObjectLifecyclePolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ObjectLifecyclePolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ObjectLifecyclePolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ObjectLifecyclePolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_object_lifecycle_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_object_lifecycle_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ObjectLifecyclePolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/objectstorage/preauthrequest/zz_controller.go b/internal/controller/namespaced/objectstorage/preauthrequest/zz_controller.go index 0248bf257..a8aaa644f 100755 --- a/internal/controller/namespaced/objectstorage/preauthrequest/zz_controller.go +++ b/internal/controller/namespaced/objectstorage/preauthrequest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Preauthrequest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Preauthrequest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Preauthrequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Preauthrequest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_preauthrequest"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_preauthrequest"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Preauthrequest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/objectstorage/privateendpoint/zz_controller.go b/internal/controller/namespaced/objectstorage/privateendpoint/zz_controller.go index c56bcda2a..a612a1845 100755 --- a/internal/controller/namespaced/objectstorage/privateendpoint/zz_controller.go +++ b/internal/controller/namespaced/objectstorage/privateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/objectstorage/replicationpolicy/zz_controller.go b/internal/controller/namespaced/objectstorage/replicationpolicy/zz_controller.go index 45362484e..d92ac6187 100755 --- a/internal/controller/namespaced/objectstorage/replicationpolicy/zz_controller.go +++ b/internal/controller/namespaced/objectstorage/replicationpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ReplicationPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ReplicationPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ReplicationPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ReplicationPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_replication_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_objectstorage_replication_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ReplicationPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/oce/oceinstance/zz_controller.go b/internal/controller/namespaced/oce/oceinstance/zz_controller.go index 330e66623..35af1668a 100755 --- a/internal/controller/namespaced/oce/oceinstance/zz_controller.go +++ b/internal/controller/namespaced/oce/oceinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OceInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OceInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OceInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OceInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_oce_oce_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_oce_oce_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OceInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ocvp/byol/zz_controller.go b/internal/controller/namespaced/ocvp/byol/zz_controller.go index 9d927d7ba..784549c60 100755 --- a/internal/controller/namespaced/ocvp/byol/zz_controller.go +++ b/internal/controller/namespaced/ocvp/byol/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Byol_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Byol_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Byol_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Byol_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_byol"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_byol"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Byol_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ocvp/byolallocation/zz_controller.go b/internal/controller/namespaced/ocvp/byolallocation/zz_controller.go index edaad4a8a..20b987751 100755 --- a/internal/controller/namespaced/ocvp/byolallocation/zz_controller.go +++ b/internal/controller/namespaced/ocvp/byolallocation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ByolAllocation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ByolAllocation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ByolAllocation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ByolAllocation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_byol_allocation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_byol_allocation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ByolAllocation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ocvp/cluster/zz_controller.go b/internal/controller/namespaced/ocvp/cluster/zz_controller.go index 556d4d13f..27377b465 100755 --- a/internal/controller/namespaced/ocvp/cluster/zz_controller.go +++ b/internal/controller/namespaced/ocvp/cluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Cluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Cluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Cluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Cluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Cluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ocvp/datastore/zz_controller.go b/internal/controller/namespaced/ocvp/datastore/zz_controller.go index cb0a3901c..0a1a350a2 100755 --- a/internal/controller/namespaced/ocvp/datastore/zz_controller.go +++ b/internal/controller/namespaced/ocvp/datastore/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Datastore_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Datastore_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Datastore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Datastore_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_datastore"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_datastore"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Datastore_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ocvp/datastorecluster/zz_controller.go b/internal/controller/namespaced/ocvp/datastorecluster/zz_controller.go index 6eb39cb37..3004de2d6 100755 --- a/internal/controller/namespaced/ocvp/datastorecluster/zz_controller.go +++ b/internal/controller/namespaced/ocvp/datastorecluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatastoreCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatastoreCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatastoreCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatastoreCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_datastore_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_datastore_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatastoreCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ocvp/esxihost/zz_controller.go b/internal/controller/namespaced/ocvp/esxihost/zz_controller.go index 65b240abe..0bb784a1a 100755 --- a/internal/controller/namespaced/ocvp/esxihost/zz_controller.go +++ b/internal/controller/namespaced/ocvp/esxihost/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EsxiHost_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EsxiHost_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EsxiHost_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EsxiHost_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_esxi_host"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_esxi_host"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EsxiHost_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ocvp/managementappliance/zz_controller.go b/internal/controller/namespaced/ocvp/managementappliance/zz_controller.go index d47ee82ea..8186584d7 100755 --- a/internal/controller/namespaced/ocvp/managementappliance/zz_controller.go +++ b/internal/controller/namespaced/ocvp/managementappliance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementAppliance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementAppliance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAppliance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementAppliance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_management_appliance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_management_appliance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementAppliance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ocvp/sddc/zz_controller.go b/internal/controller/namespaced/ocvp/sddc/zz_controller.go index 88acab9af..2903c34ce 100755 --- a/internal/controller/namespaced/ocvp/sddc/zz_controller.go +++ b/internal/controller/namespaced/ocvp/sddc/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Sddc_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Sddc_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Sddc_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Sddc_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ocvp_sddc"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ocvp_sddc"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Sddc_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/oda/odainstance/zz_controller.go b/internal/controller/namespaced/oda/odainstance/zz_controller.go index bbbf7d488..06b2248f9 100755 --- a/internal/controller/namespaced/oda/odainstance/zz_controller.go +++ b/internal/controller/namespaced/oda/odainstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OdaInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OdaInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OdaInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/oda/odaprivateendpoint/zz_controller.go b/internal/controller/namespaced/oda/odaprivateendpoint/zz_controller.go index dd1b1826c..5dcd3b6ab 100755 --- a/internal/controller/namespaced/oda/odaprivateendpoint/zz_controller.go +++ b/internal/controller/namespaced/oda/odaprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OdaPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OdaPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OdaPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/oda/odaprivateendpointattachment/zz_controller.go b/internal/controller/namespaced/oda/odaprivateendpointattachment/zz_controller.go index 81781a01c..6a47de1de 100755 --- a/internal/controller/namespaced/oda/odaprivateendpointattachment/zz_controller.go +++ b/internal/controller/namespaced/oda/odaprivateendpointattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OdaPrivateEndpointAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OdaPrivateEndpointAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaPrivateEndpointAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaPrivateEndpointAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_private_endpoint_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_private_endpoint_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OdaPrivateEndpointAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/oda/odaprivateendpointscanproxy/zz_controller.go b/internal/controller/namespaced/oda/odaprivateendpointscanproxy/zz_controller.go index c12a68300..e9b354501 100755 --- a/internal/controller/namespaced/oda/odaprivateendpointscanproxy/zz_controller.go +++ b/internal/controller/namespaced/oda/odaprivateendpointscanproxy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OdaPrivateEndpointScanProxy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OdaPrivateEndpointScanProxy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaPrivateEndpointScanProxy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OdaPrivateEndpointScanProxy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_private_endpoint_scan_proxy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_oda_oda_private_endpoint_scan_proxy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OdaPrivateEndpointScanProxy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ons/notificationtopic/zz_controller.go b/internal/controller/namespaced/ons/notificationtopic/zz_controller.go index 1c5dcdf35..afd29cd06 100755 --- a/internal/controller/namespaced/ons/notificationtopic/zz_controller.go +++ b/internal/controller/namespaced/ons/notificationtopic/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NotificationTopic_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NotificationTopic_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NotificationTopic_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NotificationTopic_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ons_notification_topic"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ons_notification_topic"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NotificationTopic_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ons/subscription/zz_controller.go b/internal/controller/namespaced/ons/subscription/zz_controller.go index 97051e616..fc3e13a26 100755 --- a/internal/controller/namespaced/ons/subscription/zz_controller.go +++ b/internal/controller/namespaced/ons/subscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Subscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Subscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_ons_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_ons_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Subscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opa/opainstance/zz_controller.go b/internal/controller/namespaced/opa/opainstance/zz_controller.go index 69bf6b48d..d9e43f17c 100755 --- a/internal/controller/namespaced/opa/opainstance/zz_controller.go +++ b/internal/controller/namespaced/opa/opainstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OpaInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OpaInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpaInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpaInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opa_opa_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opa_opa_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OpaInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opensearch/opensearchcluster/zz_controller.go b/internal/controller/namespaced/opensearch/opensearchcluster/zz_controller.go index 921e60da2..79e4af271 100755 --- a/internal/controller/namespaced/opensearch/opensearchcluster/zz_controller.go +++ b/internal/controller/namespaced/opensearch/opensearchcluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OpensearchCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OpensearchCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpensearchCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpensearchCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opensearch_opensearch_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opensearch_opensearch_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OpensearchCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opensearch/opensearchclusterpipeline/zz_controller.go b/internal/controller/namespaced/opensearch/opensearchclusterpipeline/zz_controller.go index 008aa6c8a..6078c50ea 100755 --- a/internal/controller/namespaced/opensearch/opensearchclusterpipeline/zz_controller.go +++ b/internal/controller/namespaced/opensearch/opensearchclusterpipeline/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OpensearchClusterPipeline_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OpensearchClusterPipeline_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpensearchClusterPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpensearchClusterPipeline_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opensearch_opensearch_cluster_pipeline"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opensearch_opensearch_cluster_pipeline"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OpensearchClusterPipeline_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/operatoraccesscontrol/operatorcontrol/zz_controller.go b/internal/controller/namespaced/operatoraccesscontrol/operatorcontrol/zz_controller.go index e86aa4544..b2a876b89 100755 --- a/internal/controller/namespaced/operatoraccesscontrol/operatorcontrol/zz_controller.go +++ b/internal/controller/namespaced/operatoraccesscontrol/operatorcontrol/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperatorControl_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperatorControl_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperatorControl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperatorControl_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_operator_access_control_operator_control"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_operator_access_control_operator_control"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperatorControl_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/operatoraccesscontrol/operatorcontrolassignment/zz_controller.go b/internal/controller/namespaced/operatoraccesscontrol/operatorcontrolassignment/zz_controller.go index 23289dfee..0f473886d 100755 --- a/internal/controller/namespaced/operatoraccesscontrol/operatorcontrolassignment/zz_controller.go +++ b/internal/controller/namespaced/operatoraccesscontrol/operatorcontrolassignment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperatorControlAssignment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperatorControlAssignment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperatorControlAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperatorControlAssignment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_operator_access_control_operator_control_assignment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_operator_access_control_operator_control_assignment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperatorControlAssignment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/awrhub/zz_controller.go b/internal/controller/namespaced/opsi/awrhub/zz_controller.go index 2d84faac5..ff5350697 100755 --- a/internal/controller/namespaced/opsi/awrhub/zz_controller.go +++ b/internal/controller/namespaced/opsi/awrhub/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AwrHub_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AwrHub_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AwrHub_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AwrHub_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_awr_hub"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_awr_hub"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AwrHub_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/awrhubsource/zz_controller.go b/internal/controller/namespaced/opsi/awrhubsource/zz_controller.go index fd3290f5f..f5d40555a 100755 --- a/internal/controller/namespaced/opsi/awrhubsource/zz_controller.go +++ b/internal/controller/namespaced/opsi/awrhubsource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AwrHubSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AwrHubSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AwrHubSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AwrHubSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_awr_hub_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_awr_hub_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AwrHubSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/awrhubsourceawrhubsourcesmanagement/zz_controller.go b/internal/controller/namespaced/opsi/awrhubsourceawrhubsourcesmanagement/zz_controller.go index a17683c42..b1e7fb817 100755 --- a/internal/controller/namespaced/opsi/awrhubsourceawrhubsourcesmanagement/zz_controller.go +++ b/internal/controller/namespaced/opsi/awrhubsourceawrhubsourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AwrHubSourceAwrhubsourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AwrHubSourceAwrhubsourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AwrHubSourceAwrhubsourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AwrHubSourceAwrhubsourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_awr_hub_source_awrhubsources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_awr_hub_source_awrhubsources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AwrHubSourceAwrhubsourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/chargebackplan/zz_controller.go b/internal/controller/namespaced/opsi/chargebackplan/zz_controller.go index 55411b2b6..68789f407 100755 --- a/internal/controller/namespaced/opsi/chargebackplan/zz_controller.go +++ b/internal/controller/namespaced/opsi/chargebackplan/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ChargebackPlan_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ChargebackPlan_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ChargebackPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ChargebackPlan_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_chargeback_plan"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_chargeback_plan"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ChargebackPlan_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/databaseinsight/zz_controller.go b/internal/controller/namespaced/opsi/databaseinsight/zz_controller.go index 4a41781c0..b872fb47b 100755 --- a/internal/controller/namespaced/opsi/databaseinsight/zz_controller.go +++ b/internal/controller/namespaced/opsi/databaseinsight/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DatabaseInsight_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DatabaseInsight_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseInsight_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DatabaseInsight_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_database_insight"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_database_insight"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DatabaseInsight_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/enterprisemanagerbridge/zz_controller.go b/internal/controller/namespaced/opsi/enterprisemanagerbridge/zz_controller.go index ddfe881f1..61d76441f 100755 --- a/internal/controller/namespaced/opsi/enterprisemanagerbridge/zz_controller.go +++ b/internal/controller/namespaced/opsi/enterprisemanagerbridge/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EnterpriseManagerBridge_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EnterpriseManagerBridge_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EnterpriseManagerBridge_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EnterpriseManagerBridge_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_enterprise_manager_bridge"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_enterprise_manager_bridge"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EnterpriseManagerBridge_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/exadatainsight/zz_controller.go b/internal/controller/namespaced/opsi/exadatainsight/zz_controller.go index 263992ba4..34e6de2b3 100755 --- a/internal/controller/namespaced/opsi/exadatainsight/zz_controller.go +++ b/internal/controller/namespaced/opsi/exadatainsight/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ExadataInsight_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ExadataInsight_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInsight_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ExadataInsight_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_exadata_insight"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_exadata_insight"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ExadataInsight_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/hostinsight/zz_controller.go b/internal/controller/namespaced/opsi/hostinsight/zz_controller.go index 730eb4e73..934cefdc1 100755 --- a/internal/controller/namespaced/opsi/hostinsight/zz_controller.go +++ b/internal/controller/namespaced/opsi/hostinsight/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.HostInsight_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.HostInsight_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HostInsight_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HostInsight_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_host_insight"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_host_insight"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.HostInsight_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/newsreport/zz_controller.go b/internal/controller/namespaced/opsi/newsreport/zz_controller.go index 6c25ad08d..a64ab05ab 100755 --- a/internal/controller/namespaced/opsi/newsreport/zz_controller.go +++ b/internal/controller/namespaced/opsi/newsreport/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NewsReport_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NewsReport_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NewsReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NewsReport_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_news_report"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_news_report"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NewsReport_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/operationsinsightsprivateendpoint/zz_controller.go b/internal/controller/namespaced/opsi/operationsinsightsprivateendpoint/zz_controller.go index 39814d1d5..de2e1f020 100755 --- a/internal/controller/namespaced/opsi/operationsinsightsprivateendpoint/zz_controller.go +++ b/internal/controller/namespaced/opsi/operationsinsightsprivateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperationsInsightsPrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperationsInsightsPrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsPrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperationsInsightsPrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/operationsinsightswarehouse/zz_controller.go b/internal/controller/namespaced/opsi/operationsinsightswarehouse/zz_controller.go index e0b591a5c..4f76011a8 100755 --- a/internal/controller/namespaced/opsi/operationsinsightswarehouse/zz_controller.go +++ b/internal/controller/namespaced/opsi/operationsinsightswarehouse/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperationsInsightsWarehouse_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperationsInsightsWarehouse_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouse_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouse_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperationsInsightsWarehouse_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/operationsinsightswarehousedownloadwarehousewallet/zz_controller.go b/internal/controller/namespaced/opsi/operationsinsightswarehousedownloadwarehousewallet/zz_controller.go index 8be9074ba..8698fa6e4 100755 --- a/internal/controller/namespaced/opsi/operationsinsightswarehousedownloadwarehousewallet/zz_controller.go +++ b/internal/controller/namespaced/opsi/operationsinsightswarehousedownloadwarehousewallet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperationsInsightsWarehouseDownloadWarehouseWallet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperationsInsightsWarehouseDownloadWarehouseWallet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouseDownloadWarehouseWallet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouseDownloadWarehouseWallet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse_download_warehouse_wallet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse_download_warehouse_wallet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperationsInsightsWarehouseDownloadWarehouseWallet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/operationsinsightswarehouserotatewarehousewallet/zz_controller.go b/internal/controller/namespaced/opsi/operationsinsightswarehouserotatewarehousewallet/zz_controller.go index 8f0e996f4..193fb1ab7 100755 --- a/internal/controller/namespaced/opsi/operationsinsightswarehouserotatewarehousewallet/zz_controller.go +++ b/internal/controller/namespaced/opsi/operationsinsightswarehouserotatewarehousewallet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperationsInsightsWarehouseRotateWarehouseWallet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperationsInsightsWarehouseRotateWarehouseWallet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouseRotateWarehouseWallet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouseRotateWarehouseWallet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse_rotate_warehouse_wallet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse_rotate_warehouse_wallet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperationsInsightsWarehouseRotateWarehouseWallet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/operationsinsightswarehouseuser/zz_controller.go b/internal/controller/namespaced/opsi/operationsinsightswarehouseuser/zz_controller.go index e5ac19fe0..42ec14dba 100755 --- a/internal/controller/namespaced/opsi/operationsinsightswarehouseuser/zz_controller.go +++ b/internal/controller/namespaced/opsi/operationsinsightswarehouseuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OperationsInsightsWarehouseUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OperationsInsightsWarehouseUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouseUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OperationsInsightsWarehouseUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_operations_insights_warehouse_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OperationsInsightsWarehouseUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/opsi/opsiconfiguration/zz_controller.go b/internal/controller/namespaced/opsi/opsiconfiguration/zz_controller.go index 490dd0f44..2564869b0 100755 --- a/internal/controller/namespaced/opsi/opsiconfiguration/zz_controller.go +++ b/internal/controller/namespaced/opsi/opsiconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OpsiConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OpsiConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpsiConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OpsiConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_opsi_opsi_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_opsi_opsi_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OpsiConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/optimizer/enrollmentstatus/zz_controller.go b/internal/controller/namespaced/optimizer/enrollmentstatus/zz_controller.go index ed8b77474..6ff3b80ed 100755 --- a/internal/controller/namespaced/optimizer/enrollmentstatus/zz_controller.go +++ b/internal/controller/namespaced/optimizer/enrollmentstatus/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.EnrollmentStatus_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.EnrollmentStatus_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EnrollmentStatus_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.EnrollmentStatus_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_optimizer_enrollment_status"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_optimizer_enrollment_status"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.EnrollmentStatus_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/optimizer/profile/zz_controller.go b/internal/controller/namespaced/optimizer/profile/zz_controller.go index b34de678a..8fa4e20e3 100755 --- a/internal/controller/namespaced/optimizer/profile/zz_controller.go +++ b/internal/controller/namespaced/optimizer/profile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Profile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Profile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Profile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Profile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_optimizer_profile"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_optimizer_profile"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Profile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/optimizer/recommendation/zz_controller.go b/internal/controller/namespaced/optimizer/recommendation/zz_controller.go index 4ed4e6d63..90a70ce4a 100755 --- a/internal/controller/namespaced/optimizer/recommendation/zz_controller.go +++ b/internal/controller/namespaced/optimizer/recommendation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Recommendation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Recommendation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Recommendation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Recommendation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_optimizer_recommendation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_optimizer_recommendation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Recommendation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/optimizer/resourceaction/zz_controller.go b/internal/controller/namespaced/optimizer/resourceaction/zz_controller.go index 09087e3b6..2bb84ad25 100755 --- a/internal/controller/namespaced/optimizer/resourceaction/zz_controller.go +++ b/internal/controller/namespaced/optimizer/resourceaction/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ResourceAction_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ResourceAction_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResourceAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResourceAction_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_optimizer_resource_action"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_optimizer_resource_action"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ResourceAction_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/dynamicset/zz_controller.go b/internal/controller/namespaced/osmanagementhub/dynamicset/zz_controller.go index 44e9d1caa..ff5bff4da 100755 --- a/internal/controller/namespaced/osmanagementhub/dynamicset/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/dynamicset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/dynamicsetinstallpackagesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/dynamicsetinstallpackagesmanagement/zz_controller.go index 63cd2f07f..5ba1e4b55 100755 --- a/internal/controller/namespaced/osmanagementhub/dynamicsetinstallpackagesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/dynamicsetinstallpackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicSetInstallPackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicSetInstallPackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetInstallPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetInstallPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_install_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_install_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicSetInstallPackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/dynamicsetrebootmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/dynamicsetrebootmanagement/zz_controller.go index 67b4e3e81..77b889033 100755 --- a/internal/controller/namespaced/osmanagementhub/dynamicsetrebootmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/dynamicsetrebootmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicSetRebootManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicSetRebootManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_reboot_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_reboot_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicSetRebootManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/dynamicsetremovepackagesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/dynamicsetremovepackagesmanagement/zz_controller.go index 03317a221..85d0f64af 100755 --- a/internal/controller/namespaced/osmanagementhub/dynamicsetremovepackagesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/dynamicsetremovepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicSetRemovePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicSetRemovePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_remove_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_remove_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicSetRemovePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/dynamicsetupdatepackagesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/dynamicsetupdatepackagesmanagement/zz_controller.go index 84cf4b5a2..f8876b98a 100755 --- a/internal/controller/namespaced/osmanagementhub/dynamicsetupdatepackagesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/dynamicsetupdatepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DynamicSetUpdatePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DynamicSetUpdatePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetUpdatePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DynamicSetUpdatePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_update_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_dynamic_set_update_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DynamicSetUpdatePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/event/zz_controller.go b/internal/controller/namespaced/osmanagementhub/event/zz_controller.go index 0cc20b1eb..77707fdbf 100755 --- a/internal/controller/namespaced/osmanagementhub/event/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/event/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Event_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Event_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Event_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Event_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_event"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_event"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Event_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/lifecycleenvironment/zz_controller.go b/internal/controller/namespaced/osmanagementhub/lifecycleenvironment/zz_controller.go index 5f9cf4338..e4e58058e 100755 --- a/internal/controller/namespaced/osmanagementhub/lifecycleenvironment/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/lifecycleenvironment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LifecycleEnvironment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LifecycleEnvironment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleEnvironment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_environment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_environment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LifecycleEnvironment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/lifecyclestageattachmanagedinstancesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/lifecyclestageattachmanagedinstancesmanagement/zz_controller.go index 22a3f51a6..e2bf6626d 100755 --- a/internal/controller/namespaced/osmanagementhub/lifecyclestageattachmanagedinstancesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/lifecyclestageattachmanagedinstancesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LifecycleStageAttachManagedInstancesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LifecycleStageAttachManagedInstancesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStageAttachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStageAttachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_attach_managed_instances_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_attach_managed_instances_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LifecycleStageAttachManagedInstancesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/lifecyclestagedetachmanagedinstancesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/lifecyclestagedetachmanagedinstancesmanagement/zz_controller.go index 22ca680f8..ce49636f0 100755 --- a/internal/controller/namespaced/osmanagementhub/lifecyclestagedetachmanagedinstancesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/lifecyclestagedetachmanagedinstancesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LifecycleStageDetachManagedInstancesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LifecycleStageDetachManagedInstancesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStageDetachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStageDetachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_detach_managed_instances_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_detach_managed_instances_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LifecycleStageDetachManagedInstancesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/lifecyclestagepromotesoftwaresourcemanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/lifecyclestagepromotesoftwaresourcemanagement/zz_controller.go index c27cb044b..8c89455ec 100755 --- a/internal/controller/namespaced/osmanagementhub/lifecyclestagepromotesoftwaresourcemanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/lifecyclestagepromotesoftwaresourcemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LifecycleStagePromoteSoftwareSourceManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LifecycleStagePromoteSoftwareSourceManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStagePromoteSoftwareSourceManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStagePromoteSoftwareSourceManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_promote_software_source_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_promote_software_source_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LifecycleStagePromoteSoftwareSourceManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/lifecyclestagerebootmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/lifecyclestagerebootmanagement/zz_controller.go index 41233ccf9..bb2048593 100755 --- a/internal/controller/namespaced/osmanagementhub/lifecyclestagerebootmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/lifecyclestagerebootmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.LifecycleStageRebootManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.LifecycleStageRebootManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStageRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.LifecycleStageRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_reboot_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_lifecycle_stage_reboot_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.LifecycleStageRebootManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstance/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstance/zz_controller.go index 0078af3f2..5407f5bf3 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstance/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstanceattachprofilemanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstanceattachprofilemanagement/zz_controller.go index 89f9d4154..08211dfe1 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstanceattachprofilemanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstanceattachprofilemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceAttachProfileManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceAttachProfileManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceAttachProfileManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceAttachProfileManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_attach_profile_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_attach_profile_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceAttachProfileManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstanceattachsoftwaresourcesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstanceattachsoftwaresourcesmanagement/zz_controller.go index e3e2614e2..7b26538d3 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstanceattachsoftwaresourcesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstanceattachsoftwaresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceAttachSoftwareSourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceAttachSoftwareSourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceAttachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceAttachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_attach_software_sources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_attach_software_sources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceAttachSoftwareSourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancedetachprofilemanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancedetachprofilemanagement/zz_controller.go index df705511c..6d9b45a0a 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancedetachprofilemanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancedetachprofilemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceDetachProfileManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceDetachProfileManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceDetachProfileManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceDetachProfileManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_detach_profile_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_detach_profile_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceDetachProfileManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancedetachsoftwaresourcesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancedetachsoftwaresourcesmanagement/zz_controller.go index c754075dd..1b0abbae5 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancedetachsoftwaresourcesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancedetachsoftwaresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceDetachSoftwareSourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceDetachSoftwareSourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceDetachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceDetachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_detach_software_sources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_detach_software_sources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceDetachSoftwareSourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancegroup/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancegroup/zz_controller.go index a652706ea..a2cbb14e3 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancegroup/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancegroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancegroupattachmanagedinstancesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancegroupattachmanagedinstancesmanagement/zz_controller.go index da5f09a47..b09b7c08a 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancegroupattachmanagedinstancesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancegroupattachmanagedinstancesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupAttachManagedInstancesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupAttachManagedInstancesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupAttachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupAttachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_attach_managed_instances_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_attach_managed_instances_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupAttachManagedInstancesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancegroupattachsoftwaresourcesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancegroupattachsoftwaresourcesmanagement/zz_controller.go index 1342ede99..5dca0ba69 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancegroupattachsoftwaresourcesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancegroupattachsoftwaresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupAttachSoftwareSourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupAttachSoftwareSourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupAttachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupAttachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_attach_software_sources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_attach_software_sources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupAttachSoftwareSourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancegroupdetachmanagedinstancesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancegroupdetachmanagedinstancesmanagement/zz_controller.go index 8dcbdafe3..2c81f21bb 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancegroupdetachmanagedinstancesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancegroupdetachmanagedinstancesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupDetachManagedInstancesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupDetachManagedInstancesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupDetachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupDetachManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_detach_managed_instances_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_detach_managed_instances_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupDetachManagedInstancesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancegroupdetachsoftwaresourcesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancegroupdetachsoftwaresourcesmanagement/zz_controller.go index a6565dd89..918e97912 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancegroupdetachsoftwaresourcesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancegroupdetachsoftwaresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupDetachSoftwareSourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupDetachSoftwareSourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupDetachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupDetachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_detach_software_sources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_detach_software_sources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupDetachSoftwareSourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancegroupinstallpackagesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancegroupinstallpackagesmanagement/zz_controller.go index b1386cdcf..bc3b52f4c 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancegroupinstallpackagesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancegroupinstallpackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupInstallPackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupInstallPackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupInstallPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupInstallPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_install_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_install_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupInstallPackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancegroupinstallwindowsupdatesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancegroupinstallwindowsupdatesmanagement/zz_controller.go index f3e6fe588..6ba50f332 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancegroupinstallwindowsupdatesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancegroupinstallwindowsupdatesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupInstallWindowsUpdatesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupInstallWindowsUpdatesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupInstallWindowsUpdatesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupInstallWindowsUpdatesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_install_windows_updates_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_install_windows_updates_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupInstallWindowsUpdatesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancegroupmanagemodulestreamsmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancegroupmanagemodulestreamsmanagement/zz_controller.go index 409a1f65c..09f2ddd15 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancegroupmanagemodulestreamsmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancegroupmanagemodulestreamsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupManageModuleStreamsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupManageModuleStreamsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupManageModuleStreamsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupManageModuleStreamsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_manage_module_streams_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_manage_module_streams_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupManageModuleStreamsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancegrouprebootmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancegrouprebootmanagement/zz_controller.go index 504accd98..cc9e99a11 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancegrouprebootmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancegrouprebootmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupRebootManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupRebootManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_reboot_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_reboot_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupRebootManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancegroupremovepackagesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancegroupremovepackagesmanagement/zz_controller.go index 2430a2935..d5af174d2 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancegroupremovepackagesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancegroupremovepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupRemovePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupRemovePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_remove_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_remove_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupRemovePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancegroupupdateallpackagesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancegroupupdateallpackagesmanagement/zz_controller.go index fbf51c556..83152be11 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancegroupupdateallpackagesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancegroupupdateallpackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceGroupUpdateAllPackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceGroupUpdateAllPackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupUpdateAllPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceGroupUpdateAllPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_update_all_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_group_update_all_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceGroupUpdateAllPackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstanceinstallpackagesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstanceinstallpackagesmanagement/zz_controller.go index ea7c1ece0..de3dccde1 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstanceinstallpackagesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstanceinstallpackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceInstallPackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceInstallPackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceInstallPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceInstallPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_install_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_install_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceInstallPackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstanceinstallsnapsmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstanceinstallsnapsmanagement/zz_controller.go index 998de2dde..a58e008f6 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstanceinstallsnapsmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstanceinstallsnapsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceInstallSnapsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceInstallSnapsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceInstallSnapsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceInstallSnapsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_install_snaps_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_install_snaps_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceInstallSnapsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstanceinstallwindowsupdatesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstanceinstallwindowsupdatesmanagement/zz_controller.go index 409622484..8bc1a76f9 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstanceinstallwindowsupdatesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstanceinstallwindowsupdatesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceInstallWindowsUpdatesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceInstallWindowsUpdatesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceInstallWindowsUpdatesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceInstallWindowsUpdatesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_install_windows_updates_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_install_windows_updates_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceInstallWindowsUpdatesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancerebootmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancerebootmanagement/zz_controller.go index 15e89fbac..b89ba038d 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancerebootmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancerebootmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceRebootManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceRebootManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRebootManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_reboot_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_reboot_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceRebootManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancerefreshsoftwaremanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancerefreshsoftwaremanagement/zz_controller.go index aeabd64b0..1eb5a25be 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancerefreshsoftwaremanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancerefreshsoftwaremanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceRefreshSoftwareManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceRefreshSoftwareManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRefreshSoftwareManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRefreshSoftwareManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_refresh_software_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_refresh_software_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceRefreshSoftwareManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstanceremovepackagesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstanceremovepackagesmanagement/zz_controller.go index 369807040..c3c8d4755 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstanceremovepackagesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstanceremovepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceRemovePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceRemovePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_remove_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_remove_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceRemovePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstanceremovesnapsmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstanceremovesnapsmanagement/zz_controller.go index e045a696b..9746f3c8a 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstanceremovesnapsmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstanceremovesnapsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceRemoveSnapsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceRemoveSnapsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRemoveSnapsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceRemoveSnapsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_remove_snaps_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_remove_snaps_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceRemoveSnapsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancesinstallwindowsupdatesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancesinstallwindowsupdatesmanagement/zz_controller.go index 1c28cbb8e..78179926f 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancesinstallwindowsupdatesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancesinstallwindowsupdatesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstancesInstallWindowsUpdatesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstancesInstallWindowsUpdatesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstancesInstallWindowsUpdatesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstancesInstallWindowsUpdatesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instances_install_windows_updates_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instances_install_windows_updates_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstancesInstallWindowsUpdatesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstancesupdatepackagesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstancesupdatepackagesmanagement/zz_controller.go index 2fdd1f2b3..a04f3a24c 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstancesupdatepackagesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstancesupdatepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstancesUpdatePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstancesUpdatePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstancesUpdatePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstancesUpdatePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instances_update_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instances_update_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstancesUpdatePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstanceswitchsnapchannelmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstanceswitchsnapchannelmanagement/zz_controller.go index 572f18d1e..ca548445c 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstanceswitchsnapchannelmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstanceswitchsnapchannelmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceSwitchSnapChannelManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceSwitchSnapChannelManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceSwitchSnapChannelManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceSwitchSnapChannelManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_switch_snap_channel_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_switch_snap_channel_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceSwitchSnapChannelManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managedinstanceupdatepackagesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managedinstanceupdatepackagesmanagement/zz_controller.go index c652451e9..d70dc0e6a 100755 --- a/internal/controller/namespaced/osmanagementhub/managedinstanceupdatepackagesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managedinstanceupdatepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagedInstanceUpdatePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagedInstanceUpdatePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceUpdatePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagedInstanceUpdatePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_update_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_managed_instance_update_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagedInstanceUpdatePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managementstation/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managementstation/zz_controller.go index 803aa8873..4c92d2c9b 100755 --- a/internal/controller/namespaced/osmanagementhub/managementstation/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managementstation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementStation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementStation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementStation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managementstationassociatemanagedinstancesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managementstationassociatemanagedinstancesmanagement/zz_controller.go index 68848836a..b25b3e2df 100755 --- a/internal/controller/namespaced/osmanagementhub/managementstationassociatemanagedinstancesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managementstationassociatemanagedinstancesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementStationAssociateManagedInstancesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementStationAssociateManagedInstancesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationAssociateManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationAssociateManagedInstancesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_associate_managed_instances_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_associate_managed_instances_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementStationAssociateManagedInstancesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managementstationmirrorsynchronizemanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managementstationmirrorsynchronizemanagement/zz_controller.go index ba7d6fe79..c7b689bfb 100755 --- a/internal/controller/namespaced/osmanagementhub/managementstationmirrorsynchronizemanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managementstationmirrorsynchronizemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementStationMirrorSynchronizeManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementStationMirrorSynchronizeManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationMirrorSynchronizeManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationMirrorSynchronizeManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_mirror_synchronize_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_mirror_synchronize_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementStationMirrorSynchronizeManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managementstationrefreshmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managementstationrefreshmanagement/zz_controller.go index 966991e4b..cca016222 100755 --- a/internal/controller/namespaced/osmanagementhub/managementstationrefreshmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managementstationrefreshmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementStationRefreshManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementStationRefreshManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationRefreshManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationRefreshManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_refresh_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_refresh_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementStationRefreshManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/managementstationsynchronizemirrorsmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/managementstationsynchronizemirrorsmanagement/zz_controller.go index acb4b1a6e..ad45b2ca7 100755 --- a/internal/controller/namespaced/osmanagementhub/managementstationsynchronizemirrorsmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/managementstationsynchronizemirrorsmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ManagementStationSynchronizeMirrorsManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ManagementStationSynchronizeMirrorsManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationSynchronizeMirrorsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ManagementStationSynchronizeMirrorsManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_synchronize_mirrors_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_management_station_synchronize_mirrors_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ManagementStationSynchronizeMirrorsManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/profile/zz_controller.go b/internal/controller/namespaced/osmanagementhub/profile/zz_controller.go index db2e463f9..fd0367553 100755 --- a/internal/controller/namespaced/osmanagementhub/profile/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/profile/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Profile_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Profile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Profile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Profile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Profile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/profileattachlifecyclestagemanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/profileattachlifecyclestagemanagement/zz_controller.go index 02fe3bca8..b0df11f64 100755 --- a/internal/controller/namespaced/osmanagementhub/profileattachlifecyclestagemanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/profileattachlifecyclestagemanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProfileAttachLifecycleStageManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProfileAttachLifecycleStageManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachLifecycleStageManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachLifecycleStageManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_lifecycle_stage_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_lifecycle_stage_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProfileAttachLifecycleStageManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/profileattachmanagedinstancegroupmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/profileattachmanagedinstancegroupmanagement/zz_controller.go index a385eb689..ba1787962 100755 --- a/internal/controller/namespaced/osmanagementhub/profileattachmanagedinstancegroupmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/profileattachmanagedinstancegroupmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProfileAttachManagedInstanceGroupManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProfileAttachManagedInstanceGroupManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachManagedInstanceGroupManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachManagedInstanceGroupManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_managed_instance_group_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_managed_instance_group_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProfileAttachManagedInstanceGroupManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/profileattachmanagementstationmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/profileattachmanagementstationmanagement/zz_controller.go index ce31aeadc..7474eb409 100755 --- a/internal/controller/namespaced/osmanagementhub/profileattachmanagementstationmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/profileattachmanagementstationmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProfileAttachManagementStationManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProfileAttachManagementStationManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachManagementStationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachManagementStationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_management_station_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_management_station_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProfileAttachManagementStationManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/profileattachsoftwaresourcesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/profileattachsoftwaresourcesmanagement/zz_controller.go index d1c47c48a..a5c910bc3 100755 --- a/internal/controller/namespaced/osmanagementhub/profileattachsoftwaresourcesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/profileattachsoftwaresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProfileAttachSoftwareSourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProfileAttachSoftwareSourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileAttachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_software_sources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_attach_software_sources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProfileAttachSoftwareSourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/profiledetachmanagementstationmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/profiledetachmanagementstationmanagement/zz_controller.go index 35701e67c..24532f38e 100755 --- a/internal/controller/namespaced/osmanagementhub/profiledetachmanagementstationmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/profiledetachmanagementstationmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProfileDetachManagementStationManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProfileDetachManagementStationManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileDetachManagementStationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileDetachManagementStationManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_detach_management_station_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_detach_management_station_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProfileDetachManagementStationManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/profiledetachsoftwaresourcesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/profiledetachsoftwaresourcesmanagement/zz_controller.go index 77e2475f6..37c7bbe0c 100755 --- a/internal/controller/namespaced/osmanagementhub/profiledetachsoftwaresourcesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/profiledetachsoftwaresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProfileDetachSoftwareSourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProfileDetachSoftwareSourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileDetachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProfileDetachSoftwareSourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_detach_software_sources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_profile_detach_software_sources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProfileDetachSoftwareSourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/scheduledjob/zz_controller.go b/internal/controller/namespaced/osmanagementhub/scheduledjob/zz_controller.go index 63041e538..c319d0f30 100755 --- a/internal/controller/namespaced/osmanagementhub/scheduledjob/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/scheduledjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ScheduledJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ScheduledJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ScheduledJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ScheduledJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_scheduled_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_scheduled_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ScheduledJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/softwaresource/zz_controller.go b/internal/controller/namespaced/osmanagementhub/softwaresource/zz_controller.go index 25d9023a0..0e604c170 100755 --- a/internal/controller/namespaced/osmanagementhub/softwaresource/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/softwaresource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/softwaresourceaddpackagesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/softwaresourceaddpackagesmanagement/zz_controller.go index 43f0d3a3e..4dc662a90 100755 --- a/internal/controller/namespaced/osmanagementhub/softwaresourceaddpackagesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/softwaresourceaddpackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSourceAddPackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSourceAddPackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceAddPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceAddPackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_add_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_add_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSourceAddPackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/softwaresourcechangeavailabilitymanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/softwaresourcechangeavailabilitymanagement/zz_controller.go index 777fd99c9..07ca6f88d 100755 --- a/internal/controller/namespaced/osmanagementhub/softwaresourcechangeavailabilitymanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/softwaresourcechangeavailabilitymanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSourceChangeAvailabilityManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSourceChangeAvailabilityManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceChangeAvailabilityManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceChangeAvailabilityManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_change_availability_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_change_availability_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSourceChangeAvailabilityManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/softwaresourcegeneratemetadatamanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/softwaresourcegeneratemetadatamanagement/zz_controller.go index 762fe0558..22fd502de 100755 --- a/internal/controller/namespaced/osmanagementhub/softwaresourcegeneratemetadatamanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/softwaresourcegeneratemetadatamanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSourceGenerateMetadataManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSourceGenerateMetadataManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceGenerateMetadataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceGenerateMetadataManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_generate_metadata_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_generate_metadata_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSourceGenerateMetadataManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/softwaresourcemanifest/zz_controller.go b/internal/controller/namespaced/osmanagementhub/softwaresourcemanifest/zz_controller.go index 2c5756b22..00f4596be 100755 --- a/internal/controller/namespaced/osmanagementhub/softwaresourcemanifest/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/softwaresourcemanifest/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSourceManifest_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSourceManifest_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceManifest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceManifest_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_manifest"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_manifest"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSourceManifest_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/softwaresourceremovepackagesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/softwaresourceremovepackagesmanagement/zz_controller.go index 0a1b8fd4c..79bbccbf7 100755 --- a/internal/controller/namespaced/osmanagementhub/softwaresourceremovepackagesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/softwaresourceremovepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSourceRemovePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSourceRemovePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceRemovePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_remove_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_remove_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSourceRemovePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/softwaresourcereplacepackagesmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/softwaresourcereplacepackagesmanagement/zz_controller.go index 57f4bc88d..7dff626cd 100755 --- a/internal/controller/namespaced/osmanagementhub/softwaresourcereplacepackagesmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/softwaresourcereplacepackagesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SoftwareSourceReplacePackagesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SoftwareSourceReplacePackagesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceReplacePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SoftwareSourceReplacePackagesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_replace_packages_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_software_source_replace_packages_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SoftwareSourceReplacePackagesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/osmanagementhub/workrequestrerunmanagement/zz_controller.go b/internal/controller/namespaced/osmanagementhub/workrequestrerunmanagement/zz_controller.go index f5645d85b..9e3cbb230 100755 --- a/internal/controller/namespaced/osmanagementhub/workrequestrerunmanagement/zz_controller.go +++ b/internal/controller/namespaced/osmanagementhub/workrequestrerunmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WorkRequestRerunManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WorkRequestRerunManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkRequestRerunManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WorkRequestRerunManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_work_request_rerun_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_os_management_hub_work_request_rerun_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WorkRequestRerunManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ospgateway/addressactionverification/zz_controller.go b/internal/controller/namespaced/ospgateway/addressactionverification/zz_controller.go index 668f8c6de..cff3af257 100755 --- a/internal/controller/namespaced/ospgateway/addressactionverification/zz_controller.go +++ b/internal/controller/namespaced/ospgateway/addressactionverification/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AddressActionVerification_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AddressActionVerification_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AddressActionVerification_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AddressActionVerification_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_osp_gateway_address_action_verification"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_osp_gateway_address_action_verification"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AddressActionVerification_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/ospgateway/subscription/zz_controller.go b/internal/controller/namespaced/ospgateway/subscription/zz_controller.go index 468f574fe..4b803bd77 100755 --- a/internal/controller/namespaced/ospgateway/subscription/zz_controller.go +++ b/internal/controller/namespaced/ospgateway/subscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Subscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Subscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_osp_gateway_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_osp_gateway_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Subscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/psa/privateserviceaccess/zz_controller.go b/internal/controller/namespaced/psa/privateserviceaccess/zz_controller.go index 1021d94f3..ace2181a3 100755 --- a/internal/controller/namespaced/psa/privateserviceaccess/zz_controller.go +++ b/internal/controller/namespaced/psa/privateserviceaccess/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateServiceAccess_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateServiceAccess_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateServiceAccess_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateServiceAccess_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_psa_private_service_access"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_psa_private_service_access"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateServiceAccess_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/psql/psqlbackup/zz_controller.go b/internal/controller/namespaced/psql/psqlbackup/zz_controller.go index 947a27526..a96b2ba31 100755 --- a/internal/controller/namespaced/psql/psqlbackup/zz_controller.go +++ b/internal/controller/namespaced/psql/psqlbackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PsqlBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PsqlBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PsqlBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PsqlBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_psql_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_psql_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PsqlBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/psql/psqlconfiguration/zz_controller.go b/internal/controller/namespaced/psql/psqlconfiguration/zz_controller.go index ada456c3b..2ab3ef6cd 100755 --- a/internal/controller/namespaced/psql/psqlconfiguration/zz_controller.go +++ b/internal/controller/namespaced/psql/psqlconfiguration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PsqlConfiguration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PsqlConfiguration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PsqlConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PsqlConfiguration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_psql_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_psql_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PsqlConfiguration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/psql/psqldbsystem/zz_controller.go b/internal/controller/namespaced/psql/psqldbsystem/zz_controller.go index 3751421b7..07e9e7e1e 100755 --- a/internal/controller/namespaced/psql/psqldbsystem/zz_controller.go +++ b/internal/controller/namespaced/psql/psqldbsystem/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PsqlDbSystem_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PsqlDbSystem_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PsqlDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PsqlDbSystem_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_psql_db_system"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_psql_db_system"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PsqlDbSystem_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/queue/consumergroup/zz_controller.go b/internal/controller/namespaced/queue/consumergroup/zz_controller.go index a03b2f377..3e0708505 100755 --- a/internal/controller/namespaced/queue/consumergroup/zz_controller.go +++ b/internal/controller/namespaced/queue/consumergroup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConsumerGroup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ConsumerGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConsumerGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConsumerGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_queue_consumer_group"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_queue_consumer_group"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ConsumerGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/queue/queue/zz_controller.go b/internal/controller/namespaced/queue/queue/zz_controller.go index 946f66a81..d10ca7fdc 100755 --- a/internal/controller/namespaced/queue/queue/zz_controller.go +++ b/internal/controller/namespaced/queue/queue/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Queue_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Queue_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Queue_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Queue_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_queue_queue"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_queue_queue"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Queue_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/recovery/protecteddatabase/zz_controller.go b/internal/controller/namespaced/recovery/protecteddatabase/zz_controller.go index f4a7aa523..7ec7e86d8 100755 --- a/internal/controller/namespaced/recovery/protecteddatabase/zz_controller.go +++ b/internal/controller/namespaced/recovery/protecteddatabase/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProtectedDatabase_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProtectedDatabase_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProtectedDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProtectedDatabase_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_recovery_protected_database"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_recovery_protected_database"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProtectedDatabase_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/recovery/protectionpolicy/zz_controller.go b/internal/controller/namespaced/recovery/protectionpolicy/zz_controller.go index 9a07af266..c8372d64e 100755 --- a/internal/controller/namespaced/recovery/protectionpolicy/zz_controller.go +++ b/internal/controller/namespaced/recovery/protectionpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProtectionPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProtectionPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProtectionPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProtectionPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_recovery_protection_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_recovery_protection_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProtectionPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/recovery/recoveryservicesubnet/zz_controller.go b/internal/controller/namespaced/recovery/recoveryservicesubnet/zz_controller.go index cd011383a..e53bdcf26 100755 --- a/internal/controller/namespaced/recovery/recoveryservicesubnet/zz_controller.go +++ b/internal/controller/namespaced/recovery/recoveryservicesubnet/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RecoveryServiceSubnet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RecoveryServiceSubnet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RecoveryServiceSubnet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RecoveryServiceSubnet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_recovery_recovery_service_subnet"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_recovery_recovery_service_subnet"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RecoveryServiceSubnet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/redis/ocicachebackup/zz_controller.go b/internal/controller/namespaced/redis/ocicachebackup/zz_controller.go index 848615632..73db6a86a 100755 --- a/internal/controller/namespaced/redis/ocicachebackup/zz_controller.go +++ b/internal/controller/namespaced/redis/ocicachebackup/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OciCacheBackup_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OciCacheBackup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheBackup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_backup"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_backup"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OciCacheBackup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/redis/ocicachebackupexporttoobjectstorage/zz_controller.go b/internal/controller/namespaced/redis/ocicachebackupexporttoobjectstorage/zz_controller.go index a1d232b22..03c1479db 100755 --- a/internal/controller/namespaced/redis/ocicachebackupexporttoobjectstorage/zz_controller.go +++ b/internal/controller/namespaced/redis/ocicachebackupexporttoobjectstorage/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OciCacheBackupExportToObjectStorage_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OciCacheBackupExportToObjectStorage_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheBackupExportToObjectStorage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheBackupExportToObjectStorage_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_backup_export_to_object_storage"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_backup_export_to_object_storage"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OciCacheBackupExportToObjectStorage_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/redis/ocicacheconfigset/zz_controller.go b/internal/controller/namespaced/redis/ocicacheconfigset/zz_controller.go index f8a5d9b03..abfc3dd75 100755 --- a/internal/controller/namespaced/redis/ocicacheconfigset/zz_controller.go +++ b/internal/controller/namespaced/redis/ocicacheconfigset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OciCacheConfigSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OciCacheConfigSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheConfigSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheConfigSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_config_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_config_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OciCacheConfigSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/redis/ocicacheconfigsetlistassociatedocicachecluster/zz_controller.go b/internal/controller/namespaced/redis/ocicacheconfigsetlistassociatedocicachecluster/zz_controller.go index 9c8825f88..6f5805987 100755 --- a/internal/controller/namespaced/redis/ocicacheconfigsetlistassociatedocicachecluster/zz_controller.go +++ b/internal/controller/namespaced/redis/ocicacheconfigsetlistassociatedocicachecluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OciCacheConfigSetlistAssociatedOciCacheCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OciCacheConfigSetlistAssociatedOciCacheCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheConfigSetlistAssociatedOciCacheCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheConfigSetlistAssociatedOciCacheCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_config_setlist_associated_oci_cache_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_config_setlist_associated_oci_cache_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OciCacheConfigSetlistAssociatedOciCacheCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/redis/ocicacheuser/zz_controller.go b/internal/controller/namespaced/redis/ocicacheuser/zz_controller.go index 9215f4dd7..cb4e07fd7 100755 --- a/internal/controller/namespaced/redis/ocicacheuser/zz_controller.go +++ b/internal/controller/namespaced/redis/ocicacheuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OciCacheUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OciCacheUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OciCacheUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/redis/ocicacheusergetrediscluster/zz_controller.go b/internal/controller/namespaced/redis/ocicacheusergetrediscluster/zz_controller.go index 3a2ba2882..39cc06334 100755 --- a/internal/controller/namespaced/redis/ocicacheusergetrediscluster/zz_controller.go +++ b/internal/controller/namespaced/redis/ocicacheusergetrediscluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.OciCacheUserGetRedisCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.OciCacheUserGetRedisCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheUserGetRedisCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.OciCacheUserGetRedisCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_user_get_redis_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_oci_cache_user_get_redis_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.OciCacheUserGetRedisCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/redis/rediscluster/zz_controller.go b/internal/controller/namespaced/redis/rediscluster/zz_controller.go index 767d1bb0a..f011c937b 100755 --- a/internal/controller/namespaced/redis/rediscluster/zz_controller.go +++ b/internal/controller/namespaced/redis/rediscluster/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RedisCluster_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RedisCluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisCluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RedisCluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/redis/redisclusterattachocicacheuser/zz_controller.go b/internal/controller/namespaced/redis/redisclusterattachocicacheuser/zz_controller.go index 4cd4c8af4..5dc756a83 100755 --- a/internal/controller/namespaced/redis/redisclusterattachocicacheuser/zz_controller.go +++ b/internal/controller/namespaced/redis/redisclusterattachocicacheuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RedisClusterAttachOciCacheUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RedisClusterAttachOciCacheUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterAttachOciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterAttachOciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_attach_oci_cache_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_attach_oci_cache_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RedisClusterAttachOciCacheUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/redis/redisclustercreateidentitytoken/zz_controller.go b/internal/controller/namespaced/redis/redisclustercreateidentitytoken/zz_controller.go index 115144523..37a3e6901 100755 --- a/internal/controller/namespaced/redis/redisclustercreateidentitytoken/zz_controller.go +++ b/internal/controller/namespaced/redis/redisclustercreateidentitytoken/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RedisClusterCreateIdentityToken_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RedisClusterCreateIdentityToken_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterCreateIdentityToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterCreateIdentityToken_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_create_identity_token"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_create_identity_token"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RedisClusterCreateIdentityToken_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/redis/redisclusterdetachocicacheuser/zz_controller.go b/internal/controller/namespaced/redis/redisclusterdetachocicacheuser/zz_controller.go index 0be35214a..96defa13f 100755 --- a/internal/controller/namespaced/redis/redisclusterdetachocicacheuser/zz_controller.go +++ b/internal/controller/namespaced/redis/redisclusterdetachocicacheuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RedisClusterDetachOciCacheUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RedisClusterDetachOciCacheUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterDetachOciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterDetachOciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_detach_oci_cache_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_detach_oci_cache_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RedisClusterDetachOciCacheUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/redis/redisclustergetocicacheuser/zz_controller.go b/internal/controller/namespaced/redis/redisclustergetocicacheuser/zz_controller.go index 4f2a8faa4..cb6903c8d 100755 --- a/internal/controller/namespaced/redis/redisclustergetocicacheuser/zz_controller.go +++ b/internal/controller/namespaced/redis/redisclustergetocicacheuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RedisClusterGetOciCacheUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.RedisClusterGetOciCacheUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterGetOciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RedisClusterGetOciCacheUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_get_oci_cache_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_redis_redis_cluster_get_oci_cache_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.RedisClusterGetOciCacheUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/resourceanalytics/monitoredregion/zz_controller.go b/internal/controller/namespaced/resourceanalytics/monitoredregion/zz_controller.go index 86aaf7c5e..29126e1aa 100755 --- a/internal/controller/namespaced/resourceanalytics/monitoredregion/zz_controller.go +++ b/internal/controller/namespaced/resourceanalytics/monitoredregion/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredRegion_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredRegion_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredRegion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredRegion_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_monitored_region"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_monitored_region"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredRegion_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/resourceanalytics/resourceanalyticsinstance/zz_controller.go b/internal/controller/namespaced/resourceanalytics/resourceanalyticsinstance/zz_controller.go index 2c51f26f0..b1e51a479 100755 --- a/internal/controller/namespaced/resourceanalytics/resourceanalyticsinstance/zz_controller.go +++ b/internal/controller/namespaced/resourceanalytics/resourceanalyticsinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ResourceAnalyticsInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ResourceAnalyticsInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResourceAnalyticsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResourceAnalyticsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_resource_analytics_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_resource_analytics_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ResourceAnalyticsInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/resourceanalytics/resourceanalyticsinstanceoacmanagement/zz_controller.go b/internal/controller/namespaced/resourceanalytics/resourceanalyticsinstanceoacmanagement/zz_controller.go index 279b8ddb3..0f294d37e 100755 --- a/internal/controller/namespaced/resourceanalytics/resourceanalyticsinstanceoacmanagement/zz_controller.go +++ b/internal/controller/namespaced/resourceanalytics/resourceanalyticsinstanceoacmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ResourceAnalyticsInstanceOacManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ResourceAnalyticsInstanceOacManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResourceAnalyticsInstanceOacManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ResourceAnalyticsInstanceOacManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_resource_analytics_instance_oac_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_resource_analytics_instance_oac_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ResourceAnalyticsInstanceOacManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/resourceanalytics/tenancyattachment/zz_controller.go b/internal/controller/namespaced/resourceanalytics/tenancyattachment/zz_controller.go index 4de121625..60a7b1a9b 100755 --- a/internal/controller/namespaced/resourceanalytics/tenancyattachment/zz_controller.go +++ b/internal/controller/namespaced/resourceanalytics/tenancyattachment/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.TenancyAttachment_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.TenancyAttachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TenancyAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.TenancyAttachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_tenancy_attachment"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_resource_analytics_tenancy_attachment"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.TenancyAttachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/resourcemanager/privateendpoint/zz_controller.go b/internal/controller/namespaced/resourcemanager/privateendpoint/zz_controller.go index 61017a51f..04d1be4b9 100755 --- a/internal/controller/namespaced/resourcemanager/privateendpoint/zz_controller.go +++ b/internal/controller/namespaced/resourcemanager/privateendpoint/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateEndpoint_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateEndpoint_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateEndpoint_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_resourcemanager_private_endpoint"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_resourcemanager_private_endpoint"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateEndpoint_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/resourcescheduler/schedule/zz_controller.go b/internal/controller/namespaced/resourcescheduler/schedule/zz_controller.go index 336f63205..05e85455f 100755 --- a/internal/controller/namespaced/resourcescheduler/schedule/zz_controller.go +++ b/internal/controller/namespaced/resourcescheduler/schedule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Schedule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Schedule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Schedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Schedule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_resource_scheduler_schedule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_resource_scheduler_schedule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Schedule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/sch/serviceconnector/zz_controller.go b/internal/controller/namespaced/sch/serviceconnector/zz_controller.go index 1842d201b..467374312 100755 --- a/internal/controller/namespaced/sch/serviceconnector/zz_controller.go +++ b/internal/controller/namespaced/sch/serviceconnector/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ServiceConnector_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ServiceConnector_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceConnector_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_sch_service_connector"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_sch_service_connector"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ServiceConnector_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/securityattribute/securityattribute/zz_controller.go b/internal/controller/namespaced/securityattribute/securityattribute/zz_controller.go index f5f006d65..305e6d565 100755 --- a/internal/controller/namespaced/securityattribute/securityattribute/zz_controller.go +++ b/internal/controller/namespaced/securityattribute/securityattribute/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityAttribute_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityAttribute_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAttribute_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAttribute_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_security_attribute_security_attribute"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_security_attribute_security_attribute"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityAttribute_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/securityattribute/securityattributenamespace/zz_controller.go b/internal/controller/namespaced/securityattribute/securityattributenamespace/zz_controller.go index 5989b64e2..71fd03504 100755 --- a/internal/controller/namespaced/securityattribute/securityattributenamespace/zz_controller.go +++ b/internal/controller/namespaced/securityattribute/securityattributenamespace/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityAttributeNamespace_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SecurityAttributeNamespace_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAttributeNamespace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityAttributeNamespace_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_security_attribute_security_attribute_namespace"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_security_attribute_security_attribute_namespace"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SecurityAttributeNamespace_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/self/subscription/zz_controller.go b/internal/controller/namespaced/self/subscription/zz_controller.go index 2cd1db206..6e465a71b 100755 --- a/internal/controller/namespaced/self/subscription/zz_controller.go +++ b/internal/controller/namespaced/self/subscription/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Subscription_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Subscription_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Subscription_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_self_subscription"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_self_subscription"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Subscription_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/servicecatalog/privateapplication/zz_controller.go b/internal/controller/namespaced/servicecatalog/privateapplication/zz_controller.go index 5b45e025f..460e86cda 100755 --- a/internal/controller/namespaced/servicecatalog/privateapplication/zz_controller.go +++ b/internal/controller/namespaced/servicecatalog/privateapplication/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PrivateApplication_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PrivateApplication_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PrivateApplication_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_service_catalog_private_application"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_service_catalog_private_application"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PrivateApplication_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/servicecatalog/servicecatalog/zz_controller.go b/internal/controller/namespaced/servicecatalog/servicecatalog/zz_controller.go index 6b78c17a8..986bd3fae 100755 --- a/internal/controller/namespaced/servicecatalog/servicecatalog/zz_controller.go +++ b/internal/controller/namespaced/servicecatalog/servicecatalog/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ServiceCatalog_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ServiceCatalog_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceCatalog_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceCatalog_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_service_catalog_service_catalog"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_service_catalog_service_catalog"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ServiceCatalog_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/servicecatalog/servicecatalogassociation/zz_controller.go b/internal/controller/namespaced/servicecatalog/servicecatalogassociation/zz_controller.go index 09f5ec46e..ec5b2727f 100755 --- a/internal/controller/namespaced/servicecatalog/servicecatalogassociation/zz_controller.go +++ b/internal/controller/namespaced/servicecatalog/servicecatalogassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ServiceCatalogAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ServiceCatalogAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceCatalogAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceCatalogAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_service_catalog_service_catalog_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_service_catalog_service_catalog_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ServiceCatalogAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/baselineablemetric/zz_controller.go b/internal/controller/namespaced/stackmonitoring/baselineablemetric/zz_controller.go index bffb52d24..e81257bb9 100755 --- a/internal/controller/namespaced/stackmonitoring/baselineablemetric/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/baselineablemetric/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.BaselineableMetric_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.BaselineableMetric_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BaselineableMetric_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.BaselineableMetric_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_baselineable_metric"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_baselineable_metric"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.BaselineableMetric_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/config/zz_controller.go b/internal/controller/namespaced/stackmonitoring/config/zz_controller.go index 5f8b04182..b5b957cc3 100755 --- a/internal/controller/namespaced/stackmonitoring/config/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/config/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Config_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Config_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Config_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Config_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_config"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_config"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Config_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/discoveryjob/zz_controller.go b/internal/controller/namespaced/stackmonitoring/discoveryjob/zz_controller.go index a17b38f0f..870ffa65b 100755 --- a/internal/controller/namespaced/stackmonitoring/discoveryjob/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/discoveryjob/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DiscoveryJob_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.DiscoveryJob_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoveryJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.DiscoveryJob_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_discovery_job"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_discovery_job"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.DiscoveryJob_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/maintenancewindow/zz_controller.go b/internal/controller/namespaced/stackmonitoring/maintenancewindow/zz_controller.go index 69d99c974..ee06c2f2b 100755 --- a/internal/controller/namespaced/stackmonitoring/maintenancewindow/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/maintenancewindow/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaintenanceWindow_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaintenanceWindow_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindow_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_maintenance_window"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_maintenance_window"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaintenanceWindow_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/maintenancewindowsretryfailedoperation/zz_controller.go b/internal/controller/namespaced/stackmonitoring/maintenancewindowsretryfailedoperation/zz_controller.go index a756524d7..47fbefdae 100755 --- a/internal/controller/namespaced/stackmonitoring/maintenancewindowsretryfailedoperation/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/maintenancewindowsretryfailedoperation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaintenanceWindowsRetryFailedOperation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaintenanceWindowsRetryFailedOperation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindowsRetryFailedOperation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindowsRetryFailedOperation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_maintenance_windows_retry_failed_operation"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_maintenance_windows_retry_failed_operation"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaintenanceWindowsRetryFailedOperation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/maintenancewindowsstop/zz_controller.go b/internal/controller/namespaced/stackmonitoring/maintenancewindowsstop/zz_controller.go index 173a6d7ed..566acf1dd 100755 --- a/internal/controller/namespaced/stackmonitoring/maintenancewindowsstop/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/maintenancewindowsstop/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MaintenanceWindowsStop_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MaintenanceWindowsStop_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindowsStop_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MaintenanceWindowsStop_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_maintenance_windows_stop"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_maintenance_windows_stop"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MaintenanceWindowsStop_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/metricextension/zz_controller.go b/internal/controller/namespaced/stackmonitoring/metricextension/zz_controller.go index bbd31acdb..3a1c7e8eb 100755 --- a/internal/controller/namespaced/stackmonitoring/metricextension/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/metricextension/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MetricExtension_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MetricExtension_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MetricExtension_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MetricExtension_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_metric_extension"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_metric_extension"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MetricExtension_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/metricextensionmetricextensionongivenresourcesmanagement/zz_controller.go b/internal/controller/namespaced/stackmonitoring/metricextensionmetricextensionongivenresourcesmanagement/zz_controller.go index 3fcea3a6e..39f6f41de 100755 --- a/internal/controller/namespaced/stackmonitoring/metricextensionmetricextensionongivenresourcesmanagement/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/metricextensionmetricextensionongivenresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MetricExtensionMetricExtensionOnGivenResourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MetricExtensionMetricExtensionOnGivenResourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MetricExtensionMetricExtensionOnGivenResourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MetricExtensionMetricExtensionOnGivenResourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_metric_extension_metric_extension_on_given_resources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_metric_extension_metric_extension_on_given_resources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MetricExtensionMetricExtensionOnGivenResourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/monitoredresource/zz_controller.go b/internal/controller/namespaced/stackmonitoring/monitoredresource/zz_controller.go index 590e64814..7e24d3409 100755 --- a/internal/controller/namespaced/stackmonitoring/monitoredresource/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/monitoredresource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resource"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resource"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/monitoredresourcesassociatemonitoredresource/zz_controller.go b/internal/controller/namespaced/stackmonitoring/monitoredresourcesassociatemonitoredresource/zz_controller.go index 430dbb1fc..0675a68e6 100755 --- a/internal/controller/namespaced/stackmonitoring/monitoredresourcesassociatemonitoredresource/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/monitoredresourcesassociatemonitoredresource/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResourcesAssociateMonitoredResource_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResourcesAssociateMonitoredResource_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesAssociateMonitoredResource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesAssociateMonitoredResource_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_associate_monitored_resource"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_associate_monitored_resource"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResourcesAssociateMonitoredResource_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/monitoredresourceslistmember/zz_controller.go b/internal/controller/namespaced/stackmonitoring/monitoredresourceslistmember/zz_controller.go index ff7e4abda..5d13ea5ea 100755 --- a/internal/controller/namespaced/stackmonitoring/monitoredresourceslistmember/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/monitoredresourceslistmember/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResourcesListMember_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResourcesListMember_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesListMember_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesListMember_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_list_member"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_list_member"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResourcesListMember_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/monitoredresourcessearch/zz_controller.go b/internal/controller/namespaced/stackmonitoring/monitoredresourcessearch/zz_controller.go index 6b9440543..e3a837b02 100755 --- a/internal/controller/namespaced/stackmonitoring/monitoredresourcessearch/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/monitoredresourcessearch/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResourcesSearch_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResourcesSearch_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesSearch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesSearch_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_search"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_search"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResourcesSearch_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/monitoredresourcessearchassociation/zz_controller.go b/internal/controller/namespaced/stackmonitoring/monitoredresourcessearchassociation/zz_controller.go index 431d12616..c0c833a79 100755 --- a/internal/controller/namespaced/stackmonitoring/monitoredresourcessearchassociation/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/monitoredresourcessearchassociation/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResourcesSearchAssociation_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResourcesSearchAssociation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesSearchAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourcesSearchAssociation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_search_association"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resources_search_association"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResourcesSearchAssociation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/monitoredresourcetask/zz_controller.go b/internal/controller/namespaced/stackmonitoring/monitoredresourcetask/zz_controller.go index f22a92114..5e582586f 100755 --- a/internal/controller/namespaced/stackmonitoring/monitoredresourcetask/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/monitoredresourcetask/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResourceTask_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResourceTask_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourceTask_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourceTask_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resource_task"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resource_task"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResourceTask_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/monitoredresourcetype/zz_controller.go b/internal/controller/namespaced/stackmonitoring/monitoredresourcetype/zz_controller.go index 118a38401..03c0f9fcb 100755 --- a/internal/controller/namespaced/stackmonitoring/monitoredresourcetype/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/monitoredresourcetype/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoredResourceType_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoredResourceType_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourceType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoredResourceType_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resource_type"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitored_resource_type"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoredResourceType_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/monitoringtemplate/zz_controller.go b/internal/controller/namespaced/stackmonitoring/monitoringtemplate/zz_controller.go index 4beae2208..24db4982e 100755 --- a/internal/controller/namespaced/stackmonitoring/monitoringtemplate/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/monitoringtemplate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoringTemplate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoringTemplate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoringTemplate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoringTemplate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitoring_template"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitoring_template"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoringTemplate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/monitoringtemplatealarmcondition/zz_controller.go b/internal/controller/namespaced/stackmonitoring/monitoringtemplatealarmcondition/zz_controller.go index c1bd96904..386a89866 100755 --- a/internal/controller/namespaced/stackmonitoring/monitoringtemplatealarmcondition/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/monitoringtemplatealarmcondition/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoringTemplateAlarmCondition_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoringTemplateAlarmCondition_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoringTemplateAlarmCondition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoringTemplateAlarmCondition_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitoring_template_alarm_condition"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitoring_template_alarm_condition"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoringTemplateAlarmCondition_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/monitoringtemplateongivenresourcesmanagement/zz_controller.go b/internal/controller/namespaced/stackmonitoring/monitoringtemplateongivenresourcesmanagement/zz_controller.go index ae31aa522..5a594183d 100755 --- a/internal/controller/namespaced/stackmonitoring/monitoringtemplateongivenresourcesmanagement/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/monitoringtemplateongivenresourcesmanagement/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MonitoringTemplateOnGivenResourcesManagement_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.MonitoringTemplateOnGivenResourcesManagement_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoringTemplateOnGivenResourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.MonitoringTemplateOnGivenResourcesManagement_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitoring_template_monitoring_template_on_given_resources_management"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_monitoring_template_monitoring_template_on_given_resources_management"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.MonitoringTemplateOnGivenResourcesManagement_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/stackmonitoring/processset/zz_controller.go b/internal/controller/namespaced/stackmonitoring/processset/zz_controller.go index 9ea5a174f..c264344d3 100755 --- a/internal/controller/namespaced/stackmonitoring/processset/zz_controller.go +++ b/internal/controller/namespaced/stackmonitoring/processset/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProcessSet_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProcessSet_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProcessSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProcessSet_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_process_set"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_stack_monitoring_process_set"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProcessSet_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/streaming/connectharness/zz_controller.go b/internal/controller/namespaced/streaming/connectharness/zz_controller.go index 71536283c..f87b82a87 100755 --- a/internal/controller/namespaced/streaming/connectharness/zz_controller.go +++ b/internal/controller/namespaced/streaming/connectharness/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConnectHarness_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ConnectHarness_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConnectHarness_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ConnectHarness_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_streaming_connect_harness"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_streaming_connect_harness"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ConnectHarness_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/streaming/stream/zz_controller.go b/internal/controller/namespaced/streaming/stream/zz_controller.go index 9e5fdbe6d..90efcbaf1 100755 --- a/internal/controller/namespaced/streaming/stream/zz_controller.go +++ b/internal/controller/namespaced/streaming/stream/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Stream_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Stream_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Stream_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Stream_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_streaming_stream"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_streaming_stream"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Stream_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/streaming/streampool/zz_controller.go b/internal/controller/namespaced/streaming/streampool/zz_controller.go index 827377c27..509a3514c 100755 --- a/internal/controller/namespaced/streaming/streampool/zz_controller.go +++ b/internal/controller/namespaced/streaming/streampool/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.StreamPool_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.StreamPool_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.StreamPool_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_streaming_stream_pool"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_streaming_stream_pool"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.StreamPool_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/tenantmanagercontrolplane/subscriptionmapping/zz_controller.go b/internal/controller/namespaced/tenantmanagercontrolplane/subscriptionmapping/zz_controller.go index 571fc890a..ad5f9db34 100755 --- a/internal/controller/namespaced/tenantmanagercontrolplane/subscriptionmapping/zz_controller.go +++ b/internal/controller/namespaced/tenantmanagercontrolplane/subscriptionmapping/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SubscriptionMapping_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SubscriptionMapping_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SubscriptionMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SubscriptionMapping_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_tenantmanagercontrolplane_subscription_mapping"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_tenantmanagercontrolplane_subscription_mapping"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SubscriptionMapping_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/usageproxy/subscriptionredeemableuser/zz_controller.go b/internal/controller/namespaced/usageproxy/subscriptionredeemableuser/zz_controller.go index ffe22da9e..23e525298 100755 --- a/internal/controller/namespaced/usageproxy/subscriptionredeemableuser/zz_controller.go +++ b/internal/controller/namespaced/usageproxy/subscriptionredeemableuser/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SubscriptionRedeemableUser_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.SubscriptionRedeemableUser_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SubscriptionRedeemableUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SubscriptionRedeemableUser_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_usage_proxy_subscription_redeemable_user"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_usage_proxy_subscription_redeemable_user"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.SubscriptionRedeemableUser_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/vault/secret/zz_controller.go b/internal/controller/namespaced/vault/secret/zz_controller.go index 4c6e34838..170f0bd3f 100755 --- a/internal/controller/namespaced/vault/secret/zz_controller.go +++ b/internal/controller/namespaced/vault/secret/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Secret_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Secret_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Secret_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Secret_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vault_secret"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vault_secret"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Secret_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/vbsinst/vbsinstance/zz_controller.go b/internal/controller/namespaced/vbsinst/vbsinstance/zz_controller.go index 8099f3c99..10ce13391 100755 --- a/internal/controller/namespaced/vbsinst/vbsinstance/zz_controller.go +++ b/internal/controller/namespaced/vbsinst/vbsinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VbsInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VbsInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VbsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VbsInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vbs_inst_vbs_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vbs_inst_vbs_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VbsInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/visualbuilder/vbinstance/zz_controller.go b/internal/controller/namespaced/visualbuilder/vbinstance/zz_controller.go index f4b1ffad0..706a8f9db 100755 --- a/internal/controller/namespaced/visualbuilder/vbinstance/zz_controller.go +++ b/internal/controller/namespaced/visualbuilder/vbinstance/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.VbInstance_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.VbInstance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VbInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.VbInstance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_visual_builder_vb_instance"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_visual_builder_vb_instance"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.VbInstance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/vnmonitoring/pathanalysi/zz_controller.go b/internal/controller/namespaced/vnmonitoring/pathanalysi/zz_controller.go index ec0f15be0..66502f722 100755 --- a/internal/controller/namespaced/vnmonitoring/pathanalysi/zz_controller.go +++ b/internal/controller/namespaced/vnmonitoring/pathanalysi/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PathAnalysi_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PathAnalysi_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PathAnalysi_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PathAnalysi_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vn_monitoring_path_analysi"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vn_monitoring_path_analysi"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PathAnalysi_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/vulnerabilityscanning/containerscanrecipe/zz_controller.go b/internal/controller/namespaced/vulnerabilityscanning/containerscanrecipe/zz_controller.go index af3c28ee7..345fe3b76 100755 --- a/internal/controller/namespaced/vulnerabilityscanning/containerscanrecipe/zz_controller.go +++ b/internal/controller/namespaced/vulnerabilityscanning/containerscanrecipe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ContainerScanRecipe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ContainerScanRecipe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerScanRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerScanRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_container_scan_recipe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_container_scan_recipe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ContainerScanRecipe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/vulnerabilityscanning/containerscantarget/zz_controller.go b/internal/controller/namespaced/vulnerabilityscanning/containerscantarget/zz_controller.go index a59ffc727..96cd10d21 100755 --- a/internal/controller/namespaced/vulnerabilityscanning/containerscantarget/zz_controller.go +++ b/internal/controller/namespaced/vulnerabilityscanning/containerscantarget/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ContainerScanTarget_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ContainerScanTarget_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerScanTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ContainerScanTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_container_scan_target"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_container_scan_target"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ContainerScanTarget_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/vulnerabilityscanning/hostscanrecipe/zz_controller.go b/internal/controller/namespaced/vulnerabilityscanning/hostscanrecipe/zz_controller.go index 61af8b4e4..03c187d83 100755 --- a/internal/controller/namespaced/vulnerabilityscanning/hostscanrecipe/zz_controller.go +++ b/internal/controller/namespaced/vulnerabilityscanning/hostscanrecipe/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.HostScanRecipe_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.HostScanRecipe_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HostScanRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HostScanRecipe_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_host_scan_recipe"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_host_scan_recipe"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.HostScanRecipe_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/vulnerabilityscanning/hostscantarget/zz_controller.go b/internal/controller/namespaced/vulnerabilityscanning/hostscantarget/zz_controller.go index 541f0d398..297dc6a82 100755 --- a/internal/controller/namespaced/vulnerabilityscanning/hostscantarget/zz_controller.go +++ b/internal/controller/namespaced/vulnerabilityscanning/hostscantarget/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.HostScanTarget_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.HostScanTarget_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HostScanTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HostScanTarget_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_host_scan_target"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_vulnerability_scanning_host_scan_target"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.HostScanTarget_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/waa/webappacceleration/zz_controller.go b/internal/controller/namespaced/waa/webappacceleration/zz_controller.go index 879449685..794093339 100755 --- a/internal/controller/namespaced/waa/webappacceleration/zz_controller.go +++ b/internal/controller/namespaced/waa/webappacceleration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WebAppAcceleration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WebAppAcceleration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppAcceleration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppAcceleration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waa_web_app_acceleration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waa_web_app_acceleration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WebAppAcceleration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/waa/webappaccelerationpolicy/zz_controller.go b/internal/controller/namespaced/waa/webappaccelerationpolicy/zz_controller.go index e2030ec6a..04e2ce257 100755 --- a/internal/controller/namespaced/waa/webappaccelerationpolicy/zz_controller.go +++ b/internal/controller/namespaced/waa/webappaccelerationpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WebAppAccelerationPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WebAppAccelerationPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppAccelerationPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppAccelerationPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waa_web_app_acceleration_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waa_web_app_acceleration_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WebAppAccelerationPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/waas/addresslist/zz_controller.go b/internal/controller/namespaced/waas/addresslist/zz_controller.go index 430320c4d..3e2141721 100755 --- a/internal/controller/namespaced/waas/addresslist/zz_controller.go +++ b/internal/controller/namespaced/waas/addresslist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AddressList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.AddressList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AddressList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.AddressList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_address_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_address_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.AddressList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/waas/certificate/zz_controller.go b/internal/controller/namespaced/waas/certificate/zz_controller.go index 19918d1a6..cb030928d 100755 --- a/internal/controller/namespaced/waas/certificate/zz_controller.go +++ b/internal/controller/namespaced/waas/certificate/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Certificate_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Certificate_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_certificate"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_certificate"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Certificate_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/waas/customprotectionrule/zz_controller.go b/internal/controller/namespaced/waas/customprotectionrule/zz_controller.go index cb319151b..3b3ff3deb 100755 --- a/internal/controller/namespaced/waas/customprotectionrule/zz_controller.go +++ b/internal/controller/namespaced/waas/customprotectionrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.CustomProtectionRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.CustomProtectionRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomProtectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.CustomProtectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_custom_protection_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_custom_protection_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.CustomProtectionRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/waas/httpredirect/zz_controller.go b/internal/controller/namespaced/waas/httpredirect/zz_controller.go index c6ba8b47c..cc71e44e4 100755 --- a/internal/controller/namespaced/waas/httpredirect/zz_controller.go +++ b/internal/controller/namespaced/waas/httpredirect/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.HttpRedirect_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.HttpRedirect_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HttpRedirect_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.HttpRedirect_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_http_redirect"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_http_redirect"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.HttpRedirect_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/waas/protectionrule/zz_controller.go b/internal/controller/namespaced/waas/protectionrule/zz_controller.go index f3f5530ab..7e5e32a65 100755 --- a/internal/controller/namespaced/waas/protectionrule/zz_controller.go +++ b/internal/controller/namespaced/waas/protectionrule/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ProtectionRule_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ProtectionRule_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProtectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ProtectionRule_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_protection_rule"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_protection_rule"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ProtectionRule_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/waas/purgecache/zz_controller.go b/internal/controller/namespaced/waas/purgecache/zz_controller.go index 957b46bcf..c307ef23e 100755 --- a/internal/controller/namespaced/waas/purgecache/zz_controller.go +++ b/internal/controller/namespaced/waas/purgecache/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.PurgeCache_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.PurgeCache_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PurgeCache_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.PurgeCache_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_purge_cache"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_purge_cache"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.PurgeCache_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/waas/waaspolicy/zz_controller.go b/internal/controller/namespaced/waas/waaspolicy/zz_controller.go index 4e0de55dc..796eef447 100755 --- a/internal/controller/namespaced/waas/waaspolicy/zz_controller.go +++ b/internal/controller/namespaced/waas/waaspolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WaasPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WaasPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WaasPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WaasPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waas_waas_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waas_waas_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WaasPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/waf/networkaddresslist/zz_controller.go b/internal/controller/namespaced/waf/networkaddresslist/zz_controller.go index 2491474b9..4cfb45aa7 100755 --- a/internal/controller/namespaced/waf/networkaddresslist/zz_controller.go +++ b/internal/controller/namespaced/waf/networkaddresslist/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.NetworkAddressList_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.NetworkAddressList_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkAddressList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.NetworkAddressList_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waf_network_address_list"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waf_network_address_list"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.NetworkAddressList_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/waf/webappfirewall/zz_controller.go b/internal/controller/namespaced/waf/webappfirewall/zz_controller.go index 33ebc2efb..57e6820e9 100755 --- a/internal/controller/namespaced/waf/webappfirewall/zz_controller.go +++ b/internal/controller/namespaced/waf/webappfirewall/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WebAppFirewall_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WebAppFirewall_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppFirewall_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppFirewall_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waf_web_app_firewall"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waf_web_app_firewall"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WebAppFirewall_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/waf/webappfirewallpolicy/zz_controller.go b/internal/controller/namespaced/waf/webappfirewallpolicy/zz_controller.go index b90e2f559..ae2aab0be 100755 --- a/internal/controller/namespaced/waf/webappfirewallpolicy/zz_controller.go +++ b/internal/controller/namespaced/waf/webappfirewallpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.WebAppFirewallPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.WebAppFirewallPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppFirewallPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.WebAppFirewallPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_waf_web_app_firewall_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_waf_web_app_firewall_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.WebAppFirewallPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/zpr/configuration/zz_controller.go b/internal/controller/namespaced/zpr/configuration/zz_controller.go index fd3a3617a..340a73c9a 100755 --- a/internal/controller/namespaced/zpr/configuration/zz_controller.go +++ b/internal/controller/namespaced/zpr/configuration/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Configuration_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.Configuration_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Configuration_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_zpr_configuration"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_zpr_configuration"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.Configuration_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/controller/namespaced/zpr/zprpolicy/zz_controller.go b/internal/controller/namespaced/zpr/zprpolicy/zz_controller.go index 39945ef46..f1eeab270 100755 --- a/internal/controller/namespaced/zpr/zprpolicy/zz_controller.go +++ b/internal/controller/namespaced/zpr/zprpolicy/zz_controller.go @@ -17,7 +17,7 @@ import ( "github.com/crossplane/crossplane-runtime/v2/pkg/statemetrics" tjcontroller "github.com/crossplane/upjet/v2/pkg/controller" "github.com/crossplane/upjet/v2/pkg/controller/handler" - "github.com/crossplane/upjet/v2/pkg/terraform" + "github.com/crossplane/upjet/v2/pkg/metrics" "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" @@ -40,14 +40,18 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ZprPolicy_GroupVersionKind.String()) var initializers managed.InitializerChain eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1alpha1.ZprPolicy_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ZprPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler)) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ZprPolicy_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["oci_zpr_zpr_policy"], tjcontroller.WithLogger(o.Logger), tjcontroller.WithConnectorEventHandler(eventHandler), - tjcontroller.WithCallbackProvider(ac), - )), + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["oci_zpr_zpr_policy"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1alpha1.ZprPolicy_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3 * time.Minute), managed.WithInitializers(initializers), managed.WithPollInterval(o.PollInterval), diff --git a/internal/noforkpatch/patcher.go b/internal/noforkpatch/patcher.go new file mode 100644 index 000000000..f5af6b259 --- /dev/null +++ b/internal/noforkpatch/patcher.go @@ -0,0 +1,428 @@ +package noforkpatch + +import ( + "context" + "errors" + "fmt" + "io" + "os" + "os/exec" + "path/filepath" + "strings" +) + +const ( + defaultRepoURL = "https://github.com/oracle/terraform-provider-oci" + defaultModulePath = "github.com/oracle/terraform-provider-oci" + defaultPatchFile = "build/nofork/patches/terraform-provider-oci.patch" + noForkGoFlags = "-tags=nofork" +) + +var noForkSourceFiles = [][2]string{ + {"config/terraform_provider_nofork.go.tmpl", "config/terraform_provider_nofork.go"}, + {"internal/clients/oci_provider_nofork.go.tmpl", "internal/clients/oci_provider_nofork.go"}, +} + +// Options describes the workspace paths and upstream provider coordinates used +// by the no-fork patch flow. +type Options struct { + RootDir string + ProviderVersion string + ProviderDir string + StateDir string + PatchFile string + RepoURL string + ModulePath string + GoCache string + GoModCache string + GoPath string + Stdout io.Writer + Stderr io.Writer +} + +// DefaultOptions returns the production defaults used by the Makefile. +func DefaultOptions(rootDir string) Options { + return Options{ + RootDir: rootDir, + ProviderVersion: os.Getenv("TERRAFORM_PROVIDER_VERSION"), + ProviderDir: filepath.Join(rootDir, ".work", "nofork", "terraform-provider-oci"), + StateDir: filepath.Join(rootDir, ".work", "nofork", "state"), + PatchFile: filepath.Join(rootDir, defaultPatchFile), + RepoURL: defaultRepoURL, + ModulePath: defaultModulePath, + GoCache: filepath.Join(rootDir, ".cache", "nofork-go-build"), + GoModCache: filepath.Join(rootDir, ".cache", "nofork-go-mod"), + GoPath: filepath.Join(rootDir, ".work", "nofork-gopath"), + Stdout: os.Stdout, + Stderr: os.Stderr, + } +} + +type runner interface { + Run(ctx context.Context, dir string, env []string, name string, args ...string) error +} + +type execRunner struct { + stdout io.Writer + stderr io.Writer +} + +func (r execRunner) Run(ctx context.Context, dir string, env []string, name string, args ...string) error { + cmd := exec.CommandContext(ctx, name, args...) + cmd.Dir = dir + cmd.Env = append(os.Environ(), env...) + cmd.Stdout = r.stdout + cmd.Stderr = r.stderr + if err := cmd.Run(); err != nil { + return fmt.Errorf("%s %s: %w", name, strings.Join(args, " "), err) + } + return nil +} + +// Apply clones the requested upstream provider version, applies the no-fork +// patch, and temporarily rewrites the workspace go.mod to use the patched clone. +func Apply(ctx context.Context, opts Options) error { + return apply(ctx, normalizeOptions(opts), execRunner{stdout: opts.Stdout, stderr: opts.Stderr}) +} + +func apply(ctx context.Context, opts Options, r runner) error { + if err := opts.validateForPatch(); err != nil { + return err + } + if err := ensurePatchFile(opts.PatchFile); err != nil { + return err + } + + for _, dir := range []string{opts.GoCache, opts.GoModCache, opts.GoPath, filepath.Dir(opts.ProviderDir), opts.StateDir} { + if err := os.MkdirAll(dir, 0o755); err != nil { + return fmt.Errorf("create directory %s: %w", dir, err) + } + } + + fmt.Fprintf(opts.Stdout, "==> Cloning terraform-provider-oci v%s\n", cleanVersion(opts.ProviderVersion)) + if err := os.RemoveAll(opts.ProviderDir); err != nil { + return fmt.Errorf("remove provider directory %s: %w", opts.ProviderDir, err) + } + if err := r.Run(ctx, opts.RootDir, nil, "git", "clone", "--depth", "1", "--branch", providerTag(opts.ProviderVersion), opts.RepoURL, opts.ProviderDir); err != nil { + return err + } + + if err := dryRunPatch(ctx, opts, r); err != nil { + return err + } + if err := applyPatch(ctx, opts, r); err != nil { + return err + } + patched := false + backedUp := false + defer func() { + if !patched { + if backedUp { + _ = restoreModuleFiles(opts) + } + _ = removeNoForkSources(opts) + } + }() + if err := materializeNoForkSources(opts); err != nil { + return err + } + + if err := backupModuleFiles(opts); err != nil { + return err + } + backedUp = true + + fmt.Fprintln(opts.Stdout, "==> Updating go.mod (require + replace)") + env := goEnv(opts) + if err := r.Run(ctx, opts.RootDir, env, "go", "mod", "edit", + "-require", fmt.Sprintf("%s@%s+incompatible", opts.ModulePath, providerTag(opts.ProviderVersion)), + "-replace", fmt.Sprintf("%s=%s", opts.ModulePath, opts.ProviderDir), + ); err != nil { + return err + } + + fmt.Fprintln(opts.Stdout, "==> Tidying go.mod/go.sum for patched provider dependency graph") + if err := r.Run(ctx, opts.RootDir, env, "go", "mod", "tidy"); err != nil { + return err + } + + patched = true + fmt.Fprintf(opts.Stdout, "==> Patch applied. go.mod/go.sum backups saved to %s.\n", opts.StateDir) + return nil +} + +// Validate checks that the no-fork patch applies to the requested upstream +// provider version and that the patched tree passes semantic safety checks. +func Validate(ctx context.Context, opts Options) error { + return validate(ctx, normalizeOptions(opts), execRunner{stdout: opts.Stdout, stderr: opts.Stderr}) +} + +func validate(ctx context.Context, opts Options, r runner) error { + if err := opts.validateForPatch(); err != nil { + return err + } + if err := ensurePatchFile(opts.PatchFile); err != nil { + return err + } + + tmpDir, err := os.MkdirTemp("", "terraform-provider-oci-validate-*") + if err != nil { + return fmt.Errorf("create temporary validation directory: %w", err) + } + defer os.RemoveAll(tmpDir) + + validationDir := filepath.Join(tmpDir, "terraform-provider-oci") + fmt.Fprintf(opts.Stdout, "==> Validating patch against v%s\n", cleanVersion(opts.ProviderVersion)) + if err := r.Run(ctx, opts.RootDir, nil, "git", "clone", "--depth", "1", "--branch", providerTag(opts.ProviderVersion), opts.RepoURL, validationDir); err != nil { + return err + } + + validationOpts := opts + validationOpts.ProviderDir = validationDir + if err := dryRunPatch(ctx, validationOpts, r); err != nil { + return err + } + if err := applyPatch(ctx, validationOpts, r); err != nil { + return err + } + if err := ValidatePatchedTree(validationDir); err != nil { + return err + } + + fmt.Fprintf(opts.Stdout, "==> Patch validates cleanly against v%s\n", cleanVersion(opts.ProviderVersion)) + return nil +} + +// Clean restores go.mod/go.sum from the patch state and removes transient +// no-fork build directories. +func Clean(opts Options) error { + opts = normalizeOptions(opts) + var errs []error + if err := removeNoForkSources(opts); err != nil { + errs = append(errs, fmt.Errorf("remove no-fork source: %w", err)) + } + if err := restoreModuleFiles(opts); err != nil { + errs = append(errs, err) + } + for _, dir := range []string{opts.StateDir, opts.ProviderDir, opts.GoPath} { + if err := makeWritable(dir); err != nil { + errs = append(errs, err) + } + if err := os.RemoveAll(dir); err != nil { + errs = append(errs, fmt.Errorf("remove %s: %w", dir, err)) + } + } + return errors.Join(errs...) +} + +func restoreModuleFiles(opts Options) error { + var errs []error + for _, name := range []string{"go.mod", "go.sum"} { + src := filepath.Join(opts.StateDir, name) + dst := filepath.Join(opts.RootDir, name) + if _, err := os.Stat(src); err == nil { + if err := copyFile(src, dst); err != nil { + errs = append(errs, fmt.Errorf("restore %s: %w", name, err)) + } + } else if !errors.Is(err, os.ErrNotExist) { + errs = append(errs, fmt.Errorf("stat %s: %w", src, err)) + } + } + return errors.Join(errs...) +} + +func dryRunPatch(ctx context.Context, opts Options, r runner) error { + fmt.Fprintln(opts.Stdout, "==> Validating patch (dry-run)") + return r.Run(ctx, opts.RootDir, nil, "patch", "--dry-run", "-p1", "-d", opts.ProviderDir, "-i", opts.PatchFile) +} + +func applyPatch(ctx context.Context, opts Options, r runner) error { + fmt.Fprintln(opts.Stdout, "==> Applying patch") + return r.Run(ctx, opts.RootDir, nil, "patch", "-p1", "-d", opts.ProviderDir, "-i", opts.PatchFile) +} + +func backupModuleFiles(opts Options) error { + if err := os.RemoveAll(opts.StateDir); err != nil { + return fmt.Errorf("reset state directory %s: %w", opts.StateDir, err) + } + if err := os.MkdirAll(opts.StateDir, 0o755); err != nil { + return fmt.Errorf("create state directory %s: %w", opts.StateDir, err) + } + for _, name := range []string{"go.mod", "go.sum"} { + if err := copyFile(filepath.Join(opts.RootDir, name), filepath.Join(opts.StateDir, name)); err != nil { + return fmt.Errorf("backup %s: %w", name, err) + } + } + return nil +} + +func materializeNoForkSources(opts Options) error { + for _, source := range noForkSourceFiles { + if err := copyFile(filepath.Join(opts.RootDir, source[0]), filepath.Join(opts.RootDir, source[1])); err != nil { + return fmt.Errorf("materialize no-fork source %s: %w", source[1], err) + } + } + return nil +} + +func removeNoForkSources(opts Options) error { + var errs []error + for _, source := range noForkSourceFiles { + err := os.Remove(filepath.Join(opts.RootDir, source[1])) + if err != nil && !errors.Is(err, os.ErrNotExist) { + errs = append(errs, err) + } + } + return errors.Join(errs...) +} + +func copyFile(src, dst string) error { + in, err := os.Open(src) + if err != nil { + return err + } + defer in.Close() + + out, err := os.OpenFile(dst, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0o644) + if err != nil { + return err + } + defer out.Close() + + if _, err := io.Copy(out, in); err != nil { + return err + } + return out.Close() +} + +func ensurePatchFile(path string) error { + info, err := os.Stat(path) + if err != nil { + return fmt.Errorf("patch file %s: %w", path, err) + } + if info.IsDir() { + return fmt.Errorf("patch file %s is a directory", path) + } + return nil +} + +func goEnv(opts Options) []string { + return []string{ + "GOCACHE=" + opts.GoCache, + "GOMODCACHE=" + opts.GoModCache, + "GOPATH=" + opts.GoPath, + "GOFLAGS=" + strings.TrimSpace(os.Getenv("GOFLAGS")+" "+noForkGoFlags), + } +} + +func (o Options) validateForPatch() error { + var missing []string + if o.RootDir == "" { + missing = append(missing, "root-dir") + } + if o.ProviderVersion == "" { + missing = append(missing, "provider-version") + } + if o.ProviderDir == "" { + missing = append(missing, "provider-dir") + } + if o.StateDir == "" { + missing = append(missing, "state-dir") + } + if o.PatchFile == "" { + missing = append(missing, "patch-file") + } + if o.RepoURL == "" { + missing = append(missing, "repo-url") + } + if o.ModulePath == "" { + missing = append(missing, "module-path") + } + if len(missing) != 0 { + return fmt.Errorf("missing required option(s): %s", strings.Join(missing, ", ")) + } + return nil +} + +func normalizeOptions(opts Options) Options { + if opts.RootDir == "" { + if wd, err := os.Getwd(); err == nil { + opts.RootDir = wd + } + } + opts.RootDir = absPath(opts.RootDir) + if opts.ProviderVersion == "" { + opts.ProviderVersion = os.Getenv("TERRAFORM_PROVIDER_VERSION") + } + if opts.ProviderDir == "" { + opts.ProviderDir = filepath.Join(opts.RootDir, ".work", "nofork", "terraform-provider-oci") + } + if opts.StateDir == "" { + opts.StateDir = filepath.Join(opts.RootDir, ".work", "nofork", "state") + } + if opts.PatchFile == "" { + opts.PatchFile = filepath.Join(opts.RootDir, defaultPatchFile) + } + if opts.RepoURL == "" { + opts.RepoURL = defaultRepoURL + } + if opts.ModulePath == "" { + opts.ModulePath = defaultModulePath + } + if opts.GoCache == "" { + opts.GoCache = filepath.Join(opts.RootDir, ".cache", "nofork-go-build") + } + if opts.GoModCache == "" { + opts.GoModCache = filepath.Join(opts.RootDir, ".cache", "nofork-go-mod") + } + if opts.GoPath == "" { + opts.GoPath = filepath.Join(opts.RootDir, ".work", "nofork-gopath") + } + if opts.Stdout == nil { + opts.Stdout = io.Discard + } + if opts.Stderr == nil { + opts.Stderr = io.Discard + } + opts.ProviderDir = absPath(opts.ProviderDir) + opts.StateDir = absPath(opts.StateDir) + opts.PatchFile = absPath(opts.PatchFile) + opts.GoCache = absPath(opts.GoCache) + opts.GoModCache = absPath(opts.GoModCache) + opts.GoPath = absPath(opts.GoPath) + return opts +} + +func absPath(path string) string { + if path == "" { + return "" + } + abs, err := filepath.Abs(path) + if err != nil { + return path + } + return abs +} + +func providerTag(version string) string { + return "v" + cleanVersion(version) +} + +func cleanVersion(version string) string { + return strings.TrimPrefix(version, "v") +} + +func makeWritable(root string) error { + if _, err := os.Stat(root); errors.Is(err, os.ErrNotExist) { + return nil + } + return filepath.WalkDir(root, func(path string, d os.DirEntry, err error) error { + if err != nil { + return err + } + if d.IsDir() { + return os.Chmod(path, 0o755) + } + return os.Chmod(path, 0o644) + }) +} diff --git a/internal/noforkpatch/patcher_test.go b/internal/noforkpatch/patcher_test.go new file mode 100644 index 000000000..b594d1bf3 --- /dev/null +++ b/internal/noforkpatch/patcher_test.go @@ -0,0 +1,202 @@ +package noforkpatch + +import ( + "context" + "errors" + "io" + "os" + "path/filepath" + "strings" + "testing" +) + +func TestCleanRestoresModuleFiles(t *testing.T) { + root := t.TempDir() + state := filepath.Join(root, ".work", "nofork", "state") + providerDir := filepath.Join(root, ".work", "nofork", "terraform-provider-oci") + gopath := filepath.Join(root, ".work", "nofork-gopath") + + mustWrite(t, filepath.Join(root, "go.mod"), "module broken\n") + mustWrite(t, filepath.Join(root, "go.sum"), "broken sum\n") + for _, source := range noForkSourceFiles { + mustWrite(t, filepath.Join(root, source[1]), "package ignored\n") + } + mustWrite(t, filepath.Join(state, "go.mod"), "module restored\n") + mustWrite(t, filepath.Join(state, "go.sum"), "restored sum\n") + mustWrite(t, filepath.Join(providerDir, "README.md"), "patched provider\n") + mustWrite(t, filepath.Join(gopath, "README.md"), "gopath\n") + + err := Clean(Options{ + RootDir: root, + StateDir: state, + ProviderDir: providerDir, + GoPath: gopath, + }) + if err != nil { + t.Fatalf("Clean returned error: %v", err) + } + + gotMod, err := os.ReadFile(filepath.Join(root, "go.mod")) + if err != nil { + t.Fatal(err) + } + if string(gotMod) != "module restored\n" { + t.Fatalf("go.mod was not restored, got %q", string(gotMod)) + } + gotSum, err := os.ReadFile(filepath.Join(root, "go.sum")) + if err != nil { + t.Fatal(err) + } + if string(gotSum) != "restored sum\n" { + t.Fatalf("go.sum was not restored, got %q", string(gotSum)) + } + for _, path := range []string{state, providerDir, gopath} { + if _, err := os.Stat(path); !os.IsNotExist(err) { + t.Fatalf("expected %s to be removed, err=%v", path, err) + } + } + for _, source := range noForkSourceFiles { + if _, err := os.Stat(filepath.Join(root, source[1])); !os.IsNotExist(err) { + t.Fatalf("expected no-fork source %s to be removed, err=%v", source[1], err) + } + } +} + +func TestMaterializeNoForkSources(t *testing.T) { + root := t.TempDir() + for _, source := range noForkSourceFiles { + mustWrite(t, filepath.Join(root, source[0]), "package ignored\n") + } + + if err := materializeNoForkSources(Options{RootDir: root}); err != nil { + t.Fatalf("materializeNoForkSources returned error: %v", err) + } + + for _, source := range noForkSourceFiles { + got, err := os.ReadFile(filepath.Join(root, source[1])) + if err != nil { + t.Fatal(err) + } + if string(got) != "package ignored\n" { + t.Fatalf("materialized source %s = %q", source[1], string(got)) + } + } +} + +func TestApplyRestoresWorkspaceAfterTidyFailure(t *testing.T) { + root := t.TempDir() + providerDir := filepath.Join(root, ".work", "nofork", "terraform-provider-oci") + stateDir := filepath.Join(root, ".work", "nofork", "state") + mustWrite(t, filepath.Join(root, "go.mod"), "module original\n") + mustWrite(t, filepath.Join(root, "go.sum"), "original sum\n") + mustWrite(t, filepath.Join(root, "patch"), "patch") + for _, source := range noForkSourceFiles { + mustWrite(t, filepath.Join(root, source[0]), "package nofork\n") + } + + err := apply(context.Background(), Options{ + RootDir: root, + ProviderVersion: "8.22.0", + ProviderDir: providerDir, + StateDir: stateDir, + PatchFile: filepath.Join(root, "patch"), + RepoURL: "https://example.com/terraform-provider-oci", + ModulePath: defaultModulePath, + GoCache: filepath.Join(root, ".cache", "go-build"), + GoModCache: filepath.Join(root, ".cache", "go-mod"), + GoPath: filepath.Join(root, ".work", "gopath"), + Stdout: io.Discard, + Stderr: io.Discard, + }, failingTidyRunner{root: root}) + if !errors.Is(err, errTidy) { + t.Fatalf("apply error = %v, want tidy failure", err) + } + + for path, want := range map[string]string{ + "go.mod": "module original\n", + "go.sum": "original sum\n", + } { + got, readErr := os.ReadFile(filepath.Join(root, path)) + if readErr != nil { + t.Fatal(readErr) + } + if string(got) != want { + t.Errorf("%s = %q, want %q", path, got, want) + } + } + for _, source := range noForkSourceFiles { + if _, statErr := os.Stat(filepath.Join(root, source[1])); !errors.Is(statErr, os.ErrNotExist) { + t.Errorf("materialized source %s still exists, err=%v", source[1], statErr) + } + } +} + +func TestValidateForPatchRequiresProviderVersion(t *testing.T) { + opts := DefaultOptions(t.TempDir()) + opts.ProviderVersion = "" + + err := opts.validateForPatch() + if err == nil { + t.Fatal("expected missing provider-version error") + } +} + +func TestProviderTagAcceptsOptionalPrefix(t *testing.T) { + for _, input := range []string{"8.12.0", "v8.12.0"} { + if got := providerTag(input); got != "v8.12.0" { + t.Fatalf("providerTag(%q) = %q", input, got) + } + } +} + +func TestGoEnvAddsNoForkBuildTag(t *testing.T) { + t.Setenv("GOFLAGS", "-mod=mod") + + env := goEnv(DefaultOptions(t.TempDir())) + + var got string + for _, e := range env { + if strings.HasPrefix(e, "GOFLAGS=") { + got = e + break + } + } + if got != "GOFLAGS=-mod=mod -tags=nofork" { + t.Fatalf("GOFLAGS entry = %q, want %q", got, "GOFLAGS=-mod=mod -tags=nofork") + } +} + +func mustWrite(t *testing.T, path, content string) { + t.Helper() + if err := os.MkdirAll(filepath.Dir(path), 0o755); err != nil { + t.Fatal(err) + } + if err := os.WriteFile(path, []byte(content), 0o644); err != nil { + t.Fatal(err) + } +} + +var errTidy = errors.New("tidy failed") + +type failingTidyRunner struct { + root string +} + +func (r failingTidyRunner) Run(_ context.Context, _ string, _ []string, name string, args ...string) error { + if name == "git" { + return os.MkdirAll(args[len(args)-1], 0o755) + } + if name != "go" { + return nil + } + if len(args) >= 2 && args[0] == "mod" && args[1] == "edit" { + if err := os.WriteFile(filepath.Join(r.root, "go.mod"), []byte("module rewritten\n"), 0o644); err != nil { + return err + } + return os.WriteFile(filepath.Join(r.root, "go.sum"), []byte("rewritten sum\n"), 0o644) + } + if len(args) >= 2 && args[0] == "mod" && args[1] == "tidy" { + return errTidy + } + return nil +} diff --git a/internal/noforkpatch/validate.go b/internal/noforkpatch/validate.go new file mode 100644 index 000000000..3c7f7b68c --- /dev/null +++ b/internal/noforkpatch/validate.go @@ -0,0 +1,215 @@ +package noforkpatch + +import ( + "errors" + "fmt" + "os" + "path/filepath" + "regexp" + "strings" +) + +type validationRule struct { + name string + paths []string + pattern *regexp.Regexp +} + +type requiredValidationRule struct { + name string + path string + pattern *regexp.Regexp +} + +// ValidatePatchedTree performs semantic checks that protect the no-fork runtime +// from upstream provider-global state hazards. +func ValidatePatchedTree(providerDir string) error { + rules := []validationRule{ + { + name: "unsafe ConfigureClientVar call site", + paths: []string{ + "internal/provider", + "internal/service", + "internal/client", + }, + pattern: regexp.MustCompile(`ConfigureClientVar[[:space:]]*\(`), + }, + { + name: "unsafe ConfigureClientVar assignment", + paths: []string{ + "internal/provider", + "internal/service", + "internal/client", + }, + pattern: regexp.MustCompile(`tf_client\.ConfigureClientVar[[:space:]]*=`), + }, + { + name: "service-level retry global mutation", + paths: []string{ + "internal/service", + }, + pattern: regexp.MustCompile(`tfresource\.(ShortRetryTime|LongRetryTime|ConfiguredRetryDuration)[[:space:]]*=`), + }, + { + name: "provider-global tfresource mutation", + paths: []string{ + "internal/provider", + }, + pattern: regexp.MustCompile(`^[[:space:]]*tf_resource\.(DefinedTagsToSuppress|RealmSpecificServiceEndpointTemplateEnabled|DualStackEndpointTemplateEnabled|ShortRetryTime|LongRetryTime|ConfiguredRetryDuration)[[:space:]]*=`), + }, + { + name: "provider-global retry config mutation", + paths: []string{ + "internal/provider", + }, + pattern: regexp.MustCompile(`^[[:space:]]*.*tf_resource\.SetRetriesConfig[[:space:]]*\(`), + }, + { + name: "provider-global delete wait mutation", + paths: []string{ + "internal/provider", + }, + pattern: regexp.MustCompile(`^[[:space:]]*AvoidWaitingForDeleteTarget[[:space:]]*=`), + }, + { + name: "runtime environment mutation", + paths: []string{ + "internal/provider", + "internal/service", + "internal/client", + }, + pattern: regexp.MustCompile(`^[[:space:]]*.*os\.Setenv[[:space:]]*\(`), + }, + { + name: "mutable SDKv2 provider singleton", + paths: []string{ + "internal/provider", + }, + pattern: regexp.MustCompile(`^[[:space:]]*var[[:space:]]+ociProvider[[:space:]]+\*schema\.Provider`), + }, + { + name: "mutable Terraform CLI version global", + paths: []string{ + "internal/provider", + }, + pattern: regexp.MustCompile(`^[[:space:]]*(var[[:space:]]+TerraformCLIVersion|TerraformCLIVersion[[:space:]]*=)`), + }, + { + name: "cached service client region mutation", + paths: []string{ + "internal/service", + }, + pattern: regexp.MustCompile(`s\.Client\.SetRegion[[:space:]]*\(`), + }, + } + + var errs []error + for _, rule := range rules { + findings, err := findMatches(providerDir, rule) + if err != nil { + errs = append(errs, err) + continue + } + if len(findings) != 0 { + errs = append(errs, fmt.Errorf("%s after patch:\n%s", rule.name, strings.Join(findings, "\n"))) + } + } + + required := []requiredValidationRule{ + { + name: "instance-local SDKv2 provider factory", + path: "internal/provider/provider.go", + pattern: regexp.MustCompile(`p[[:space:]]*:=[[:space:]]*&schema\.Provider`), + }, + { + name: "instance-local Terraform version propagation", + path: "internal/provider/provider.go", + pattern: regexp.MustCompile(`buildConfigureClientFn\(configProvider[^\n]*terraformVersion[[:space:]]+string`), + }, + { + name: "one-time provider registration", + path: "internal/provider/provider.go", + pattern: regexp.MustCompile(`providerRegistrationsOnce\.Do[[:space:]]*\(`), + }, + { + name: "frozen provider registration", + path: "internal/provider/provider.go", + pattern: regexp.MustCompile(`tf_resource\.FreezeRegistrations[[:space:]]*\(`), + }, + { + name: "copied SDKv2 registration maps", + path: "internal/provider/provider.go", + pattern: regexp.MustCompile(`return[[:space:]]+cloneSDKv2ResourceMap\(`), + }, + { + name: "instance-local SDKv2 resource schemas", + path: "internal/provider/provider.go", + pattern: regexp.MustCompile(`result\[name\][[:space:]]*=[[:space:]]*cloneSDKv2Resource\(resource\)`), + }, + { + name: "Framework configuration error diagnostic", + path: "internal/provider/provider_framework.go", + pattern: regexp.MustCompile(`resp\.Diagnostics\.AddError[[:space:]]*\(`), + }, + { + name: "isolated MySQL backup copy client", + path: "internal/service/mysql/mysql_mysql_backup_resource.go", + pattern: regexp.MustCompile(`copyClient\.CopyBackup[[:space:]]*\(`), + }, + { + name: "ProviderConfig-specific MySQL client configuration", + path: "internal/service/mysql/helpers_mysql.go", + pattern: regexp.MustCompile(`s\.ConfigureClient\(&dbBackupClient\.BaseClient\)`), + }, + } + for _, rule := range required { + content, err := os.ReadFile(filepath.Join(providerDir, rule.path)) + if err != nil { + errs = append(errs, fmt.Errorf("read required no-fork invariant %s: %w", rule.path, err)) + continue + } + if !rule.pattern.Match(content) { + errs = append(errs, fmt.Errorf("required no-fork invariant %q is missing from %s", rule.name, rule.path)) + } + } + return errors.Join(errs...) +} + +func findMatches(providerDir string, rule validationRule) ([]string, error) { + var findings []string + for _, rel := range rule.paths { + root := filepath.Join(providerDir, rel) + if _, err := os.Stat(root); errors.Is(err, os.ErrNotExist) { + continue + } else if err != nil { + return nil, fmt.Errorf("stat %s: %w", root, err) + } + err := filepath.WalkDir(root, func(path string, d os.DirEntry, err error) error { + if err != nil { + return err + } + if d.IsDir() || !strings.HasSuffix(path, ".go") || strings.HasSuffix(path, "_test.go") { + return nil + } + content, err := os.ReadFile(path) + if err != nil { + return err + } + lines := strings.Split(string(content), "\n") + for i, line := range lines { + if rule.pattern.MatchString(line) { + displayPath, err := filepath.Rel(providerDir, path) + if err != nil { + displayPath = path + } + findings = append(findings, fmt.Sprintf("%s:%d:%s", displayPath, i+1, strings.TrimSpace(line))) + } + } + return nil + }) + if err != nil { + return nil, fmt.Errorf("scan %s: %w", root, err) + } + } + return findings, nil +} diff --git a/internal/noforkpatch/validate_test.go b/internal/noforkpatch/validate_test.go new file mode 100644 index 000000000..74eb670d2 --- /dev/null +++ b/internal/noforkpatch/validate_test.go @@ -0,0 +1,134 @@ +package noforkpatch + +import ( + "strings" + "testing" +) + +func TestValidatePatchedTreeRejectsGlobalStateHazards(t *testing.T) { + root := t.TempDir() + mustWrite(t, root+"/internal/provider/provider.go", ` +package provider + +var ociProvider *schema.Provider +var TerraformCLIVersion = "unknown" + +func configure() { + ConfigureClientVar() + TerraformCLIVersion = "changed" + tf_resource.DefinedTagsToSuppress = nil + tf_resource.SetRetriesConfig("retries.json") + AvoidWaitingForDeleteTarget = true + os.Setenv("OCI_REALM_SPECIFIC_SERVICE_ENDPOINT_TEMPLATE_ENABLED", "false") +} +`) + mustWrite(t, root+"/internal/client/provider_clients.go", ` +package client + +func configure() { + tf_client.ConfigureClientVar = nil +} +`) + mustWrite(t, root+"/internal/service/core/helpers.go", ` +package core + +func configure() { + tfresource.ShortRetryTime = 1 + s.Client.SetRegion("us-ashburn-1") +} +`) + mustWrite(t, root+"/internal/service/core/helpers_test.go", ` +package core + +func configure() { + tfresource.ShortRetryTime = 1 +} +`) + + err := ValidatePatchedTree(root) + if err == nil { + t.Fatal("expected validation error") + } + for _, want := range []string{ + "unsafe ConfigureClientVar call site", + "unsafe ConfigureClientVar assignment", + "service-level retry global mutation", + "provider-global tfresource mutation", + "provider-global retry config mutation", + "provider-global delete wait mutation", + "runtime environment mutation", + "mutable SDKv2 provider singleton", + "mutable Terraform CLI version global", + "cached service client region mutation", + "required no-fork invariant", + "internal/provider/provider.go:5", + "internal/client/provider_clients.go:5", + "internal/service/core/helpers.go:5", + } { + if !strings.Contains(err.Error(), want) { + t.Fatalf("expected error to contain %q, got:\n%v", want, err) + } + } + if strings.Contains(err.Error(), "helpers_test.go") { + t.Fatalf("validation should ignore test files, got:\n%v", err) + } +} + +func TestValidatePatchedTreeAllowsCleanTree(t *testing.T) { + root := t.TempDir() + mustWrite(t, root+"/internal/provider/provider.go", ` +package provider + +func Provider() *schema.Provider { + p := &schema.Provider{} + return p +} + +func buildConfigureClientFn(configProvider any, terraformVersion string) {} + +func prepareProviderRegistrations() { + providerRegistrationsOnce.Do(func() { + tf_resource.FreezeRegistrations() + }) +} + +func ResourcesMap() map[string]*schema.Resource { + return cloneSDKv2ResourceMap(globalvar.OciResources) +} + +func cloneSDKv2ResourceMap(source map[string]*schema.Resource) map[string]*schema.Resource { + result := map[string]*schema.Resource{} + for name, resource := range source { + result[name] = cloneSDKv2Resource(resource) + } + return result +} +`) + mustWrite(t, root+"/internal/provider/provider_framework.go", ` +package provider + +func configure(resp *response) { + resp.Diagnostics.AddError("failed", "failed") +} +`) + mustWrite(t, root+"/internal/client/provider_clients.go", "package client\n") + mustWrite(t, root+"/internal/service/core/helpers.go", "package core\n") + mustWrite(t, root+"/internal/service/mysql/helpers_mysql.go", ` +package mysql + +func configure() { + s.ConfigureClient(&dbBackupClient.BaseClient) +} +`) + mustWrite(t, root+"/internal/service/mysql/mysql_mysql_backup_resource.go", ` +package mysql + +func copy() { + copyClient.CopyBackup(ctx, request) +} +`) + + if err := ValidatePatchedTree(root); err != nil { + t.Fatalf("ValidatePatchedTree returned error: %v", err) + } +}